Долгий вопрос, пожалуйста, несите меня.
Мы используем Spring + JPA для веб-приложения. Моя команда обсуждает инъекцию EntityManagerFactory
в GenericDAO
(DAO на основе Generics что-то в строках, предоставленных APPFUSE, по какой-то причине мы не используем JpaDaosupport
) по инъекции EntityManager
. Мы используем "управляемое управление".
Аргументы против инъекции a EntityManagerFactory
состоят в том, что он слишком тяжелый и, следовательно, не требуется, EntityManager
делает то, что нам нужно. Кроме того, поскольку Spring создаст новый экземпляр DAO для каждого веб-запроса (я сомневаюсь в этом), не будет никаких проблем concurrency, так как в одном экземпляре EntityManager
используется общий поток двумя способами.
Аргумент для инъекции EFM заключается в том, что его хорошей практикой во всем его всегда хорошо иметь дескриптор для factory.
Я не уверен, какой лучший подход, может кто-нибудь, пожалуйста, просветить меня?