O que faz com que uma mudança no BD não se propague para o JPA?

Olá pessoal,

Eu altero uma entidade via terminal do MySql porém minhas entidades do programa permanecem inalteradas, mesmo se eu fizer um “find” e “re-pegar” a entidade do banco. Porque?

Muito obrigado!

Você deu commit na alteração que fez no banco?
Tá usando algum mecanismo de cache na aplicação?

Concordo com o luciano…certamente vc deve estar usando cache na sua aplicação…

Existe um cache do JPA que não é do BD? Pq quando eu dou um “em.flush” antes de dar o find não muda nada? estou tentando o que vc propuseram!

Fiz isso e mesmo assim não mudou nada.

Imaginem assim: eu tenho uma página que mostra os dados da minha entidade.

Eu vou no terminal e dou um update naquela entidade.
Se eu pressionar f5, nada muda.
Se eu acessar outra parte da aplicação que também utilizará esta entidade ele também não está com a alteração. (o EJB de serviço é stateless, todos são)

A alteração apenas se propaga se eu fizer o deploy novamente da aplicação. Outro fato que deve ser levado em conta é que as vezes eu faço para ele dar deploy e ele diz que ele não pode dar deploy pois o BD está em um estado inconsitente e tudo só volta a funcionar se eu reiniciar o servidor (glassfish).

Gente, mil perdões, faltou um clean and build.

Funcionou!! Entendi agora pessoal, muito obrigado.

Sou estagiario e to aprendendo ainda!! Valeu, to muito feliz hauhau