Hibernate によって生成された DDL の無効な構文エラー "type=MyISAM"
問題:
Hibernate でテーブルを作成する場合、 「MySQLSyntaxErrorException」が発生し、「SQL 構文にエラーがあります。MariaDB サーバーのバージョンに対応するマニュアルを参照して、1 行目の 'type = MyISAM' 付近で使用する正しい構文を確認してください。」
原因:
非推奨の「TYPE=MYISAM」フラグメントが生成されます設定された Hibernate 方言による DDL ステートメント。このフラグメントは、MySQL 5.5 以降または MariaDB ではサポートされていません。
解決策:
この問題を解決するには、以下と一致する適切な Hibernate ダイアレクトを構成する必要があります。データベース サーバーのバージョン。
MariaDB の場合は、バージョンと Hibernate バージョンに応じて、次のいずれかを使用します。方言:
MySQL の場合、または Hibernate バージョンで MariaDB 方言が使用できない場合は、これらの方言のいずれかを使用します (またはバリアント):
注:
とHibernate 6 では、MySQLDialect または MariaDBDialect の使用に戻すことができます。これらの方言は、接続されているデータベースのバージョンに基づいて自動的に設定されるためです。
以上がHibernate でテーブルを作成するときに、「SQL 構文にエラーがあります...」というメッセージとともに「MySQLSyntaxErrorException」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。