Error salvando con Hibernate
Hola este es mi primera vez en la lista.
He estado haciendo pruebas con Hibernate y pues me han funcionado cosas como consultar datos etc pero al momento de guardar datos no me funciona, lo más extraño que corro en modo debug y en modo normal y no me aparece nada, simplemente guardo y nada no hay ningun cambio. Mis archivos de mapeo.
Intengo algo como esto:
y no funciona tambien intente haciendo lo mismo pero haciendo la Session a mano luego beginTransaction y commit pero igual sin resultados.
Gracias.
- Inicie sesión o regístrese para enviar comentarios
puede ser
Puede que haga falta hacer un session.flush(), despues del session.persist(), o como lo estes manejando...
De hecho
No hago ninguno de ellos ya he usado Hibernate y normamente lo hago asi (y funciona) el problema creo que viene en la definicion de los archivos de mapeo.
personaDao.save()
Habría que ver tu método save() en el personaDao. Seguramente se queda la sesión abierta y no le dan flush() ni close() y por eso no se guarda nada.
Algo Parecido
A mi me pasa algo parecido con un proyecto que en windows funciona perfecto, lo pase a linux y no hace las transacciones, todo lo hace desde caché,
y a un companero en linux el mismo poryecto le funciona bien, no tengo la menor idea de porque pasa esto, pero todo queda en la cache no se si sea asuntos del Tomcat, estoy usando la misma bd q me funciona en windows perfecto, no se que pueda ser.
gracias
este es
Este es el metodo, es generado por el Hibernate Tools de MyEclipse
¿Esta bien el archivo de mapeo? Tengo mis dudas
le atiné
No hay session.close() ni session.flush() ni session.persist() ni nada; si nadie cierra la sesión, se puede quedar en cache la instancia nueva y no llega a guardarse en la base de datos.
Si el DAO está envuelto en un proxy de los de Spring que auto-cierran las sesiones entonces la bronca debe ser otra. Pero si usas ese DAO así como está, ese código no garantiza que la instancia se guarde en la base de datos (alguien más puede incluso obtener esa sesión y cancelar las operaciones que tenga pendientes).
Que me recomiendas?
Que me recomiendas que use o ponga? La verdad que no estoy manejando desde spring.
close();
Ya lo menciono ezamudio, solo pon el close.
Yo tmb genere los DAO con MyEclipse y tmb tuve ese problema.
Saludos
Aun nada
Lo puse de esa manera y aun nada, intente probar directamente con Session sin usar el DAO y tampoco
commit();
Tal vez te hace falta poner el comit, si no mal recuerdo es algo asi:
Empiezo a desesperarme
Sigue sin funcionar. No me termino de confiar del archivo de mapeo.
mapeo
Si crees que tu problema es el mapeo, piensa que solamente hay dos opciones cuando tienes mal el mapeo:
1. La aplicación arroja excepciones al intentar leer datos o escribir a la base porque el mapeo está mal.
2. La aplicación guarda los datos en lugares donde no los esperas (buscas en la tabla Persona y resulta que se guardaron en Person, o cosas así).
No arroja
La cosa es que no arroja excepciones en ninguna parte y pues estuve revisando y ninguna de las tablas se afecto, las operaciones de por ejemplo consultar si las hace perfectas pero no las de guardar.