问题描述
在Tapestry中,主要有两种获取EntityManager
实例的方法:
- 通过直接注入
EntityManager
:@Inject @PersistenceContext(unitName = MyPersistenceUnit) private EntityManager entityManager;
- 通过使用
EntityManagerManager
(也被注入):EntityManager entityManager = entityManagerManager.getEntityManager(MyPersistenceUnit);
EntityManagerManager
在其Javadoc中指出,每个线程管理一个EntityManager
:
为当前线程管理
EntityManager
。一个EntityManager
根据需要创建,并在最后关闭 每个请求。此服务的实现是按线程执行的。
这是否也适用于直接注入EntityManager
?因此,例如,如果我在一个线程中启动事务,就像这样:
entityManager.getTransaction().begin();
在另一个线程中EntityManager
的事务是否处于非活动状态-即entityManager.getTransaction().isActive()
对于其他也注入了EntityManager
的线程是否为假?
更一般而言,我对应该使用什么 感到好奇。一个人与另一个人有什么区别/优势?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)