Qdo insiro um registro em B a lista A.Bs não é atualizada, mesmo se for recarregada!

Pessoal desculpe pelo título confuso, ficou difícil explicar o problema em poucas palavras.

Estou usando o eclipselink, JPA2.

Tenho um mapeamento A possui lista de B (lazy)

O que ocorre é:

Carrego A e itero por B, tudo ok.

Insiro um B (que faz parte do A).

Carrego A novamente e itero por B, o novo B não aparece, mesmo estando salvo no banco.

Para toda ação que realizo sempre desatacho a entidade e fecho o entityManager.

Sabe pq isso ocorre? O que eu percebi é que eu posso ou fazer uma query estilo “listAll”, só para forçar a atualização da persistiência, não preciso nem atribuir este listAll para uma variável. Se fizer isto e carregar A e iterar por B ele vem atualizado. Outra forma é marcar o relacionamento como Refresh e dar um refresh em A antes de iterar por B.

O que eu digamos não concordo é desatachar A, dar um close no entitManager, abrir um novo entityManager, carregar (find) A novamente e quando itero por B ele continua no seu estado anterior! Puta falta de sacanagem :stuck_out_tongue:

Obs.: Só para constar, no eclipseLink quando itero os Bs que tem em um A, mesmo sendo lazy e o entityManager e Factory terem sidos fechados (close() ) ele carrega a lista de B ao iterar, bizarro.