Hibernate5.Xmysqlデータベースダイアレクトの違い

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の方言の詳細な説明

おすすめ

転載: blog.csdn.net/u011930054/article/details/88382245