Il modo in cui Hibernate interpreta il tipo di generazione AUTO è cambiato a partire dalla versione 5.0 di Hibernate.
Quando si utilizza Hibernate v 4.0 e il tipo di generazione come AUTO
, in particolare per MySql, Hibernate sceglierebbe IDENTITY
strategia (e quindi utilizzare il AUTO_INCREMENT
funzione) per la generazione di ID per la tabella in questione.
A partire dalla versione 5.0 quando il tipo di generazione è selezionato come AUTO, Hibernate utilizza SequenceStyleGenerator
indipendentemente dal database. Nel caso di MySql, Hibernate emula una sequenza usando una tabella ed è per questo che vedi la tabella hibernate_sequence. MySql non supporta il tipo di sequenza standard in modo nativo.
Riferimenti
- http:// docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#identifiers-generators-auto
- https://www.thinks-on-java.org/5-things-you-need-to-know-when-using-hibernate-with-mysql/