Måden Hibernate fortolker AUTO-genereringstypen på har ændret sig fra og med Hibernate version 5.0.
Når du bruger Hibernate v 4.0 og Generation Type som AUTO
, specifikt for MySql, vil Hibernate vælge IDENTITY
strategi (og dermed bruge AUTO_INCREMENT
feature) til at generere ID'er for den pågældende tabel.
Startende med version 5.0, når Generationstype er valgt som AUTO, bruger Hibernate SequenceStyleGenerator
uanset databasen. I tilfælde af MySql emulerer Hibernate en sekvens ved hjælp af en tabel, og det er derfor, du ser tabellen hibernate_sequence. MySql understøtter ikke standardsekvenstypen indbygget.
Referencer
- 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/