Pessoal,
Estou com um problema, que na verdade deve ser meu mal entendimento com relação ao entitymanager.
Tenho uma classe X que possui um relacionamento com Y e Y tem relacionamento com Z.
Quando entro em minha tela jsf (para alteração), eu carrego a entidade X e automaticamente ja carrega Y e Z… Em minha tela tenho duas combos que mudam diretamente as entidades Y e Z da entidade X.
O problema ocorre quando tento cancelar todas as alteracoes da minha tela, ou seja, fazer um undo.
Estou executando,
X = em.merge(X);
em.refresh(X);
com o objetivo de trazer o que esta no BD e sobrescrever minha entidade… aparentemente funciona, ou seja, a entidade X fica com os valores originais do BD… porem, quando volto para minha tela de pesquisa e executo uma pesquisa, é gerado a query sql e tbm alguns inserts e updates… Ou seja, por algum motivo, a entidade X fica marcada para ser alterada no BD, mesmo que eu tenha feito o refresh e merge acima…
Obrigado…