我读到了关于 Persistence Context 但是无法清楚地了解我的怀疑,如下所示 .
1.我有一个DAO类,作为 @PersistenceContext(unitName="") private EntityManager entityManager ,从我的Service方法,我使用@Transactional(propagation = Propagation.REQUIRED)启动事务(Spring Managed) . 我理解这里每次调用这个Service方法时,Transaction都会启动,当它到达DAO类时,它将使用相同的Transaction,但是对于每个EntityManager操作,它都会查找Active PersistenceContext并根据需要创建它 . 这种方法是否正确且线程安全?那么,如果一个新线程启动了相同的服务方法,那么当方法结束时,将创建一个新的Transaction和一个持久化Context并将其冲走?
2.我有多个WARS需要与数据库交互,所以我使用Spring Shared上下文共享EntityManagerFactory . 我将所有Hibernate相关配置放在一个共同的位置,并且在每个WAR中我指定将在哪里共享transactionManager . 这样对吗?
请澄清我的疑虑,你的意见很有 Value . 提前致谢 .