A forma como o Hibernate interpreta o tipo de geração AUTO mudou a partir da versão 5.0 do Hibernate.
Ao usar Hibernate v 4.0 e Generation Type como
AUTO
, especificamente para MySql, o Hibernate escolheria a IDENTITY
estratégia (e, portanto, use o AUTO_INCREMENT
feature) para gerar IDs para a tabela em questão. A partir da versão 5.0 quando o Tipo de Geração é selecionado como AUTO, o Hibernate usa
SequenceStyleGenerator
independentemente do banco de dados. No caso do MySql o Hibernate emula uma sequência usando uma tabela e é por isso que você está vendo a tabela hibernate_sequence. MySql não suporta o tipo de sequência padrão nativamente. Referências
- 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/