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