La forma en que Hibernate interpreta el tipo de generación AUTO ha cambiado a partir de la versión 5.0 de Hibernate.
Al usar Hibernate v 4.0 y Tipo de generación como AUTO
, específicamente para MySql, Hibernate elegiría la IDENTITY
estrategia (y así usar el AUTO_INCREMENT
característica) para generar ID para la tabla en cuestión.
A partir de la versión 5.0, cuando el tipo de generación se selecciona como AUTO, Hibernate usa SequenceStyleGenerator
independientemente de la base de datos. En el caso de MySql, Hibernate emula una secuencia usando una tabla y es por eso que está viendo la tabla hibernate_sequence. MySql no admite el tipo de secuencia estándar de forma nativa.
Referencias
- http:// docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#identifiers-generators-auto
- https://www.pensamientos-sobre-java.org/5-cosas-que-necesita-saber-al-usar-hibernate-with-mysql/