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

EntityManager

Porque não instanciar o EntityManager dentro do Dao ao invés de repetir codito e ter que passa-lo no construtor de cada classe que eu utilizar o Dao?

2 respostas

alguem ai?

solução!

Oi Giulia, tem sim! A demora é indesculpável, mas agora que estamos aqui, vamos tentar resolver.

Se você cria o objeto do EntityManager dentro do seu Dao, o próprio Dao vira, automaticamente, o responsável pelo fechamento daquele recurso. Essa é uma lei de recursos, se você abriu, você é quem precisa fechar. Além disso, se você usar vários daos num para uma regra de negócio, você vai precisar abrir e fechar várias conexões com o banco e també vai perder a chance de realizar todas as operações dentro da mesma transação.

Na minha visão, estes motivos indicam que o Dao não deveria ter essa responsabilidade.