Eu estava testando o entity manager separado em uma classe conforme a terceira aula:
public class JPAUtil {
private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("financas");
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
}
Mas quando eu fui tentar fazer um teste e um close:
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
conta = em.find(Conta.class, 1);
// em.persist(conta);
em.remove(conta);
em.getTransaction().commit();
em.close();
Eu reparei que a aplicação no eclipse continuou rodando, coisa que não acontecia quando eu separava EntityManagerFactory e o EntityManager e fazia close nos dois:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("financas");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Conta conta = em.find(Conta.class, 2);
System.out.println(conta.getTitular());
em.getTransaction().commit();
em.close();
emf.close();
Como eu faço para fechar de maneira correta usando a minha classe JPAUtil ?