2010-06-24 30 views
5

siguiente problema:Hibernate desactivar la caché de consultas

que crear una consulta para mostrar todas las entradas de una tabla de MySQL, si puedo editar un campo y ejecutar la consulta de nuevo consigo mismo (antiguo) resultado que en la primera consulta .

Parece que Hibernate almacena el resultado en la caché. He intentado desactivar el almacenamiento en caché con

query.setCachable (falso)

"hibernate.cache.use_second_level_cache"

"cache.provider_class"

"org.hibernate.cacheable"

el enrojecimiento y el cierre de la sesión

pero nada funciona

+0

No entiendo lo que probaste (no está claro arrojar un montón de opciones como lo hiciste). Además, me gustaría ver la consulta. –

+0

Está en una página Servlet/JSP Query query = session.createQuery ("from MyTable"); query.setCacheable (false); Lista bar = query.list(); en la primera llamada obtengo las entradas de la tabla, luego edito manualmente algunos campos, si vuelvo a llamar a la función (por ejemplo, al actualizar/volver a cargar) obtengo el mismo resultado que antes – Patrick

+0

¿está guardando el objeto después de cambiar ¿eso? ¿Hay transacciones involucradas? –

Respuesta

4

creo que la configuración que desea es

hibernate.cache.use_query_cache = false 

Reference.

+0

no funciona ... – Patrick

+2

esto implica que el caché de consultas no es su problema en absoluto –

2

¿Podría ser que nunca haya guardado o actualizado la entrada modificada para hibernar? Cuando la caché arroja un resultado incorrecto, generalmente es una indicación de que algo más está mal.

+0

Cambié el campo en la tabla manualmente y lo comprometí también – Patrick

+0

¿Puede actualizar su pregunta con el código, o al menos los fragmentos relacionados con la edición y actualización de la entrada? –

1

no tiene nada que ver con las cachés 2nd o Query, ¡estas ya están deshabilitadas de manera predeterminada! Lo que probablemente ayudaría en su caso es llamar al session.refresh(yourEntity) para que el estado de su entidad sea releído por hibernación.

Cuestiones relacionadas