2011-09-16 20 views
12

Estoy usando HibernateTemplate para acceder a la base de datos en mi aplicación Spring. ¿Hay alguna forma/método en HibernateTemplate que devuelva el ID de generación automática para mi nueva fila insertada? En mi caso, el valor de autogeneración es la clave principal de mi tabla, que se define como autoincremento dentro de la base de datos.Hibernate return auto-generate id de una fila recientemente insertada

Para más información, uso el método saveOrUpdate() para insertar datos.

+0

¿Puedes mostrar el mapeo? – ssedano

Respuesta

30

Al guardar un objeto con saveOrUpdate(), el campo id de objetos se actualizará con el id generado automáticamente si se trata de una operación de creación. Por lo tanto, puede recuperar la propiedad id del objeto guardado para obtener el ID generado automáticamente.

+0

¿Podría extender su respuesta para decir cómo se lleva a cabo en MySQL? No puedo ver ningún LAST_INSERT_ID() en el generador de perfiles (cuando me conecto a SQL Server veo scope_identity()). –

+0

Object object = new Object; // object.getId() == null saveOrUpdate (object); object.getId() == id insertado – sagits

Cuestiones relacionadas