En primer lugar defino la base de datos con el id autoincremental :
Una vez hecho esto, en vez de hacerlo con el típico método save, lo hago ejecutando una query des de hibernate, des de la clase DAO creada :
public int insertInsertHibernateTest(HibTest test){
int id=0;
try{
iniciaOperacion();
Query query = sesion.createSQLQuery("INSERT INTO HibTest (nom) VALUES ('"+test.getNom()+"')");
id = query.executeUpdate();
tx.commit();
}catch(HibernateException he){
manejaExcepcion(he);
throw he;
}finally{
sesion.close();
}
return id;
}
Donde el id que retornará el método es el número de lineas que han sido modificadas.
El xml de mapeo quedaría de la siguiente manera :
Con esto ya tendremos el insert hecho de un nuevo registro, delegando el autoincremento de la clave primaria a la base de datos
No hay comentarios:
Publicar un comentario