1、org.hibernate.dialect.MySQL55Dialect
この構成をお勧めします。使用するmysqlエンジンはInnoDBであり、テーブルを自動的に作成するときに外部キー、トランザクションなどを作成できます。
2、org.hibernate.dialect.MySQL5Dialect
データベースデータの追加、削除、チェック、変更に問題はありません。つまり、クラスの構造が変更された後、テーブル構造を更新するためにDDLが必要であり、使用されるデータベースエンジンがengine = MyISAMである場合にエラーが発生します。MyISAM外部キーなどをサポートしていないため、エラーが報告されます。
3、org.hibernate.dialect.MySQL57Dialect
この構成も可能です。MySQL57DialectはMySQL55Dialectを継承し、いくつかの新機能を追加します。ソースコード分析から、MySQL57Dialectはmysql5.7.xバージョン用であることがわかります。json列といくつかのサポートがわかります。時間関数が追加されました。私は実際にmysql5.6.xを使用しているので、MySQL55Dialect方言しか使用できません
4、org.hibernate.dialect.MySQLInnoDBDialect
これは非推奨です。
5.これは、アイデアを使用してデータベース方言のクラス階層を表示する方法です。
構成ファイルで、Ctrlキーを押しながら特定の方言名をクリックし、方言のソースコードを開き、F4キーを押して現在のクラスの階層を表示します。使用可能な方言を確認してから、ソースコードを確認します。テスト。
6. MySQL8Dialect方言、これはmysql8.0をサポートします
技術的な詳細については
、MySQLストレージエンジンのMyISAMとInnoDBの違いに関する次の2つの記事を参照してください。Hibernateの方言の詳細な説明
。