No no hagas caso de eso este es el codigo simplifacado:
WebUsuario ins = (WebUsuario)session.get(WebUsuario.class, new Integer(14));
session1.delete(ins);
session1.save(ins);
ins.setEmail("perro de vereda");
session1.flush();
Y esta es la consola de java
INFO: Not binding factory to JNDI, no JNDI name configured
Hibernate: select webusuario0_.codUsuario as codUsuario6_0_, webusuario0_.nomUsuario as nomUsuario6_0_, webusuario0_.desUsuario as desUsuario6_0_, webusuario0_.contrasena as contrasena6_0_, webusuario0_.clave as clave6_0_, webusuario0_.email as email6_0_, webusuario0_.fechaCreacion as fechaCre7_6_0_, webusuario0_.fechaVencimiento as fechaVen8_6_0_, webusuario0_.fechaEstado as fechaEst9_6_0_, webusuario0_.estado as estado6_0_, webusuario0_.perfil as perfil6_0_, webusuario0_.codCreador as codCreador6_0_, webusuario0_.codActualizo as codActu13_6_0_, webusuario0_.fechaUltAct as fechaUl14_6_0_ from WebUsuario webusuario0_ where webusuario0_.codUsuario=?
Hibernate: update WebUsuario set nomUsuario=?, desUsuario=?, contrasena=?, clave=?, email=?, fechaCreacion=?, fechaVencimiento=?, fechaEstado=?, estado=?, perfil=?, codCreador=?, codActualizo=?, fechaUltAct=? where codUsuario=?
Hibernate: delete from WebUsuario where codUsuario=?
Hibernate: insert into WebUsuario (nomUsuario, desUsuario, contrasena, clave, email, fechaCreacion, fechaVencimiento, fechaEstado, estado, perfil, codCreador, codActualizo, fechaUltAct) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select scope_identity()
La unica forma en que sale lo de Hibernate : update ....
es haciendo un delete luego de leerlo, salvandolo y luego cambiandolo, si no hago el delete no pasa absolutamente nada. Es como si despues de
hacer le delete y salvandolo estuviera realmente sincronizado con la base
Gracias
Gonzalo.
|