HibernateがAUTO生成タイプを解釈する方法は、Hibernateバージョン5.0から変更されました。
Hibernatev4.0および生成タイプをAUTO
として使用する場合 、特にMySqlの場合、HibernateはIDENTITY
を選択します 戦略(したがって、AUTO_INCREMENT
を使用します 機能)問題のテーブルのIDを生成するため。
生成タイプがAUTOとして選択されているバージョン5.0以降、HibernateはSequenceStyleGenerator
を使用します データベースに関係なく。 MySqlの場合、Hibernateはテーブルを使用してシーケンスをエミュレートするため、hibernate_sequenceテーブルが表示されます。 MySqlは、標準のシーケンスタイプをネイティブでサポートしていません。
参考資料
- http:// docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#identifiers-generators-auto
- https://www.thoughts-on-java.org/5-things-you-need-to-know-when-using-hibernate-with-mysql/