Com que frequência devo criar um EntityManager?
eu tenho umEntityManagerFactory
para o qual eu posso criar um (ou vários)EntityManager
instâncias. Estou usando um ambiente Servlet e tenho um EntityManagerFactory conectado ao servlet (por meio do contexto do servlet) que é compartilhado por toda a vida útil do servlet (e, portanto, para todos os usuários).
Eu posso fazer um dos seguintes:
Criar um único EntityManager para a vida útil do meu servlet (por exemplo, compartilhado entre todos os usuários)Crie um por usuário (para que cada usuário obtenha o seu na HttpSession)Crie uma por solicitação HTTP (por exemplo, instanciando uma nova e fechando-a no final de umdoGet
método)Qual é o mais apropriado? O custo da criação de um EntityManager é significativo? Se eu fizer um único EntityManager compartilhado, existe um único escopo de transação (ou seja, atualizações entre usuários independentes podem confirmar outras alterações)?