Foros del Web » Programación para mayores de 30 ;) » Java »

Hibernate ¿cacheado?

Estas en el tema de Hibernate ¿cacheado? en el foro de Java en Foros del Web. Tengo una aplicacion web que en el thread principal hago un query con hibernate para buscar una lista de objetos, esto funciona bien, pero en ...
  #1 (permalink)  
Antiguo 01/04/2008, 20:33
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Exclamación Hibernate ¿cacheado?

Tengo una aplicacion web que en el thread principal hago un query con hibernate para buscar una lista de objetos, esto funciona bien, pero en determinado momento se dispara otro thread en el cual actualizo los objetos.
Luego de q se actualizan los objetos en la base de datos, los datos estan bien, pero cuando veo el objeto en la lista de objetos en el thread principal no funciona, me trae el objeto en su primer estado. Los datos en la base se realizan, sin embargo los objetos del thread principal nunca toman el estado de la base de datos que fue actualizado.

No estoy usando cache de ningun tipo.

Alguna idea?

Gracias
__________________
"Vivir....solo cuesta Vida"
  #2 (permalink)  
Antiguo 01/04/2008, 20:57
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Hibernate ¿cacheado?

no he usado mucho los threads en java pero supongo q son similares que las transacciones de una bd, en primer lugar tu lees los datos de la bd (en una transaccion), luego actualizas los datos de la bd(otra transaccion diferente de la bd), supongo es que deberias refrescar el otro hilo q lee los datos debido a que ocurrio otra transaccion luego de la select entonces esta no se actualizo nunca, ya que cuando leyo los datos no estaban acutualizados, debes volver a leer los datos

esto no es un problema de hibernate sino mas bien de cuando se leen los datos, hibernate no tiene nada q ver con los hilos de tu programa.

saludos y espero q me entiendas
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #3 (permalink)  
Antiguo 02/04/2008, 00:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Hibernate ¿cacheado?

Hibernate tiene caches internas y al menos durante una transaccion, a no ser que se lo indiques explicitamente no va cada vez a mirar en la BDD los datos de un objeto.

Para refrescar los objetos esta el metodo .refresh(), pero teniendo en cuenta que tampoco es cuestion de andar llamando cada dos por tres a .refresh() "por si acaso", quiza deberias repensar como se organizan y comunican los threads, si necesitan tener informacion actualizada.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 10:31.