单个EntityManager(Hibernate)可以参与多个并发事务吗?

时间:2009-09-07 12:35:28

标签: hibernate jpa jta hibernate-entitymanager

有一种方法可以让一个EntityManager在多个并发事务中顺畅地参与吗?

好吧,不是那个并发。类似的东西:

  1. 开始tx 1
  2. 做tx 1中的内容
  3. 开始tx 2
  4. 做tx 2中的内容
  5. 提交tx 2
  6. 加入tx 1回来
  7. 做tx 1中的内容
  8. 提交tx 1
  9. 逐步跟随步骤不重叠。

1 个答案:

答案 0 :(得分:1)

单独交易?不,它不能。

尝试在当前活动的事务上调用EntityTransaction.begin()(这是您必须直接或间接执行的操作)将导致IllegalStateException被抛出。

工作单元/交易范围概念在Hibernate EntityManager manual

中有详细说明