一个很长的问题,请多多包涵。
我们将 Spring+JPA 用于 Web 应用程序。我的团队正在讨论是否注入EntityManagerFactory
(GenericDAO
基于泛型的 DAO,APPFUSE 提供的线路,我们JpaDaosupport
出于某种原因不使用)而不是注入EntityManager
. 我们正在使用“应用程序管理的持久性”。
反对注入 a 的论点EntityManagerFactory
是它太重了,所以不是必需的,它可以满足EntityManager
我们的需要。此外,由于 Spring 将为每个 Web 请求创建一个 DAO 的新实例(我对此表示怀疑),因此不会出现任何并发问题,因为在同一个EntityManager
实例中由两个线程共享。
注入 EFM 的论点是,它是一个很好的实践,总之,拥有一个工厂的句柄总是好的。
我不确定哪个是最好的方法,有人可以赐教吗?