【发布时间】:2010-11-21 13:24:12
【问题描述】:
一个很长的问题,请多多包涵。
我们将 Spring+JPA 用于 Web 应用程序。我的团队正在讨论在GenericDAO 中注入EntityManagerFactory(一个基于泛型的DAO,在APPFUSE 提供的行中,我们不使用JpaDaosupport)而不是注入EntityManager。我们正在使用“应用程序管理的持久性”。
反对注入EntityManagerFactory 的理由是它太重了,所以不是必需的,EntityManager 可以满足我们的需要。此外,由于 Spring 会为每个 Web 请求创建一个新的 DAO 实例(我对此表示怀疑),因此不会出现任何并发问题,因为同一 EntityManager 实例由两个线程共享。
注入 EFM 的理由是,它是一个很好的实践,总之,拥有一个工厂的句柄总是好的。
我不确定哪个是最好的方法,有人可以告诉我吗?
【问题讨论】:
-
我进一步了解,当 Spring 注入 EntityManager 时,它是“容器管理的持久性”,并且 Spring“使”Entitymanagers 线程安全。某人
标签: java spring jpa entitymanager