Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 10 da Aula 6 - Relacionamentos bidirecionais e o comportamento LAZY

Galera não é so abrir um begin antes de tudo para tirar esse erro?

3 respostas
solução!

Oi Alisson,

O erro acontece pelo fato do Entity Manager estar fechado quando a segunda query é executada. Mesmo se colocarmos um begin na transação no começo, não adianta se o Entity Manager for fechado por isso que devemos planejar a query utilizando o fetch.

Abraço!

Joviane no meu caso eu fiz assim e rodou.

EntityManager em = new JPAUtil().geEntityManager();
        em.getTransaction().begin();
        Conta conta = em.find(Conta.class, 1);
        em.close();
        System.out.println("Total de movimentação: " + conta.getMovimentacoes().size());

Uma outra duvida Joviane, que sentido teria eu colocar o meu

System.out.println("Total de movimentação: " + conta.getMovimentacoes().size());

depois que eu ter fechado a minha transação? não seria o correto e fazer o desejado dentro do begin e depois dar um commit e depois fechar a transação?