Injetando EntityManager vs. EntityManagerFactory

Uma longa pergunta, por favor, tenha paciência comigo.

Estamos usando o Spring + JPA para um aplicativo da web. Minha equipe está debatendo sobre injetarEntityManagerFactory noGenericDAO (um DAO baseado em algo genérico nas linhas fornecidas pelo APPFUSE, nós não usamosJpaDaosupport por algum motivo) ao injetar umEntityManager. Estamos usando "persistência gerenciada pelo aplicativo".

Os argumentos contra injetar umEntityManagerFactory é que é muito pesado e por isso não é necessário, oEntityManager faz o que precisamos. Além disso, como o Spring criaria uma nova instância de um DAO para cada solicitação da Web (duvido disso), não haverá problemas de simultaneidade como no mesmoEntityManager instância é compartilhada por dois threads.

O argumento para injetar EFM é que é sempre uma boa prática ter uma alça para uma fábrica.

Não tenho certeza qual é a melhor abordagem, alguém pode me esclarecer?

questionAnswers(4)

yourAnswerToTheQuestion