Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problema HQL

Estas en el tema de Problema HQL en el foro de PostgreSQL en Foros del Web. Hola a todos, les comento que es mi primer post en el foro, asique si le erre en algo disculpen, no fue mi intencion. Antes ...
  #1 (permalink)  
Antiguo 11/12/2007, 10:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema HQL

Hola a todos, les comento que es mi primer post en el foro, asique si le erre en algo disculpen, no fue mi intencion. Antes de comentarles cual es el problema que estoy teniendo los voy a ubicar un poco con que estoy trabajando.

- Java
- PostgreSQL 8.1
- Hibernate 3.1.3
Bueno mi problema es el siguiente:

hago un query a la bd utilizando Query, previo a esto abro la sesion (vHbSession = getHbSession();)y cuando finalizo la consulta la cierro (freeHbSession(vHbSession);). La consulta me retorna una lista de objetos.

Esta consulta funciona correctamente, hasta acá no hay problema. Sobre la lista obtenida genero un cursor para modificar un atributo de c/u de los objetos de la lista.

Y acá es donde viene el problema: al modificar un atributo de estos objetos que se encuentran en la lista, automaticamente me modifca tambien en la tabla dicho atributo. esto no deberia de pasarme pero me pasa.

Si pueden orientarme en que leer para solucionarlo o que consultar o simplemente saber si es un bug de la bd o le estoy errando feo yo.... en definitiva cualquier aporte me sirve.

Bueno muchas gracias espero que se haya entendido.

Luigi

Última edición por ElLuigi; 11/12/2007 a las 14:55
  #2 (permalink)  
Antiguo 11/12/2007, 11:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Problema HQL

Cita:
Y acá es donde viene el problema: al modificar un atributo de estos objetos que se encuentran en la lista, automaticamente me modifca tambien en la tabla dicho atributo. esto no deberia de pasarme pero me pasa.
Este es un tema de hibernate no de BD, seguramente habrá algun parametro para decirle a Hibernate que no guarde los datos hasta que hagas commit.


Cita:
Si pueden orientarme en que leer para solucionarlo o que consultar o simplemente saber si es un bug de la bd o le estoy errando feo yo.... en definita cualquier aporte me sirve.
Hombre un bug de la BD seguro que no!

Un saludo
  #3 (permalink)  
Antiguo 11/12/2007, 15:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda Re: Problema HQL

Gracias Seyko por tu ayuda. Lo que no entiendo es porque una vez que yo cerre la sesion, si modifico un atributo de un objeto obtenido del query tambien se me produce ese mismo cambio en la tabla?

Teoricamente por lo que yo tengo entendido, si quiero persistir algun cambio realizado en un objeto en la bd tengo que abrir una sesion y hacer un update, cosa que no hago nunca.

Por las dudas voy a buscar informacion sobre las Session en internet

Muchas Gracias!
  #4 (permalink)  
Antiguo 12/12/2007, 04:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Problema HQL

Te repito, hibernate, seguramente tendra algun parametro de configuración al tener un cursor que hace que al finalizar la session haga un commit con los cambios. No he utilizado mucho hibernate, por lo que en este aspecto no te puedo ayudar. Si entras en un foro de hibernate y lo comentas seguro que te lo resuelven rapido.

Un saludo
  #5 (permalink)  
Antiguo 12/12/2007, 08:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema HQL

Hola Seykoo. Muchas gracias por tu ayuda aunque a vos te parezca que no me ayudaste mucho en realidad si y bastante me ayudaste. Primero me enfoque en solo leer sobre hibernate en ver que el problema tenia que ver por ese lado.....

Y segundo en mi ultimo post puse voy a leer en internet sobre Sesiones. La cuestion es que encontre la solucion a mi problema. Limpiar la cache de la session haciendo un clear!.

El metodo que yo utilizaba de un framwork que uso en realidad no me limpiaba la cache. Asique lo hice manualmente yo haciendole un claer a la sesison. Con esto logre que los cambios que hiciera sobre el cursor no se reflejen tambien en la bd en su tabla correspondiente.

Asique nuevamente muchas gracias y como ves.... Cuando creiste que no estabas ayudando mucho, en realidad si, todo lo contrario.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.