Desabilitar Query cache no JPA

2 respostas
R

O problema é o seguinte…Como diz o nome do tópico, eu tenho uma relação um para muitos. Quando faço uma alteração na parte do muitos quero que a alteração seja refletida no muitos, porém a alteração é feita em banco, mas o JPA quando faz o query e pega a versão desatualizada, ou seja, com a versão antiga do muitos.
Vou exemplificar para ficar melhor de entender

Uma classe professor que tem vários alunos.

Alunos
Id Nome Professor
1 Zezinho Pardal
2 Luizinho Girafales

Quando altero o nome do professor pardal para, por exemplo, margarida, e mando novamente listar os alunos eu tenho o mesmo resultado! Sendo que verifico que as alterações foram realmente feitas no banco, ou seja, o query está sendo no cache.

Vou citar aqui o que já tentei e não funcinou.
Estou usando o hibernate como container e coloquei o seguinte ja:




Já tentei no momendo de persistir as alterações ( utilizando merge) colocar um flush(), já tentei colocar um clear(), até já tentei colocar um close(), porém não funciona!
A única coisa que funcinou foi antes de realizar um query dar um clear() no entity manager, porém além de não ser uma boa solução gera alguns problemas, por exemplo, eu não posso remover nenhuma entidade que vou recuperada através do query realizado.

Agradeço ajuda! :slight_smile:

2 Respostas

R

Poutz…niguem faz idéia?

dreampeppers99

tenta NoCacheProvider

Criado 4 de abril de 2009
Ultima resposta 1 de jul. de 2010
Respostas 2
Participantes 2