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

Não fechar EntityManagerFactory na JPAUtil

Na classe JPAUtil, feita pra isolar a lógica de extrair o EntityManager da nossa unidade de persistência já configurada, o instrutor falou que não existe mais a necessidade de fechar o EntityManagerFactory, pois não existe nenhuma referência a fábrica. Alguém pode me explicar esse "não precisa fechar pois não existe referência?"

Segue abaixo, com as palavras dele.

Instrutor curso de JPA: "Desta forma, poderemos também excluir a linha emf.close(); , pois não existe nenhuma referência à fábrica."

3 respostas

Ele exclui o emf.close();, justamente porque na classe TestaConta não existe referência direta EntityManagerFactory emf, deixando isolado na classe JPAUtil

No vídeo ele passa a usar na classe TestaConta uma instância de EntityManager retornada pelo new JPAUtil().getEntityManager().

Espero ter te ajudado.

Isso que você falou que compreendi.

Mas se eu abro um EntityManagerFactory, eu não preciso fechá-lo? E se eu preciso fechá-lo, porque não está sendo feito isso?

solução!

Criar um EntityManagerFactory é uma operação bem custosa. Por isso, normalmente ela deve durar durante toda a aplicação.

Ou seja, você não deve fechá-lo a cada operação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software