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)?

questionAnswers(3)

yourAnswerToTheQuestion