sql >> Base de Datos >  >> RDS >> Mysql

Problemas de hibernación con ID de incremento automático MYSQL 5

Debe recordar que Hibernate es una capa de persistencia y debe poder realizar un seguimiento de dónde se encuentra un objeto en la base de datos. Entonces, cuando hace una inserción, en realidad necesitará consultar el contador de incremento automático para ver cuál debería ser la siguiente ID. Luego inserta la ID en el objeto e inserta el objeto en la base de datos. Entonces, para que Hibernate lo haga en la inserción, primero necesita hacer una selección (a menos que esté usando algún tipo de GUID generado por la aplicación). Cuando utilice el incremento automático de mySQL, utilice el generador de "identidad".

Explicación de los distintos generadores:

http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml

Un fragmento de código XML de hibernación:

 <id name="id" type="long" unsaved-value="null" >
    <column name="uid" not-null="true"/>
    <generator class="identity"/>
 </id>