Начинът, по който Hibernate тълкува типа AUTO генериране, се промени, започвайки с Hibernate версия 5.0.
Когато използвате Hibernate v 4.0 и Generation Type като AUTO
, специално за MySql, Hibernate ще избере IDENTITY
стратегия (и по този начин използвайте AUTO_INCREMENT
функция) за генериране на идентификатори за въпросната таблица.
Започвайки с версия 5.0, когато Generation Type е избран като AUTO, 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/