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