Hibernate によって生成された DDL の無効な構文エラー "type=MyISAM"
「SQL 構文にエラーがあります。SQL 構文にエラーがあります。 MariaDB サーバーのバージョンに対応するマニュアルを参照して、行 1 の「type = MyISAM」付近で使用する正しい構文を確認してください。Hibernate によって生成される DDL のエラーは、通常、非推奨の「type」属性の使用が原因で発生します。以下に分析と解決策を示します。
Ursache
SQL の「type」属性は、テーブルのストレージ エンジンを指定するために使用されます。 MySQL 4.x 以前では、「type=MyISAM」を使用するのが一般的でした。ただし、この属性は MySQL 4.0 で非推奨となり、5.5 で削除されました。
Lösung
この問題を解決するには、Hibernate 設定で正しい方言を使用する必要があります。 MariaDB と Hibernate のバージョンに応じて、次の方言のいずれかを使用する必要があります:
MariaDB:
MySQL:
Beispiel
Hibernate 設定ファイルでは、次のように正しい方言を指定できます。 :
<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Hinweis
Hibernate 6 では、MySQLDialect または MariaDBDialect を使用する必要があります。これらの方言は、接続されたデータベースのバージョンに基づいて自動的に設定されるためです。
以上がHibernate DDL で「type=MyISAM」構文エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。