有没有一种方法可以让一个 EntityManager 顺利参与多个并发事务?
好吧,不是那么并发。就像是:
- 开始发送 1
- 在 tx 1 中做事
- 开始发送 2
- 在 tx 2 中做事
- 提交 tx 2
- 加入 tx 1 回来
- 在 tx 1 中做事
- 提交 tx 1
一步一步地不重叠。
有没有一种方法可以让一个 EntityManager 顺利参与多个并发事务?
好吧,不是那么并发。就像是:
一步一步地不重叠。
分开交易?不,它不能。
尝试在当前活动的事务上调用EntityTransaction.begin()(这是您必须直接或间接执行的操作)将导致IllegalStateException
被抛出。
Hibernate EntityManager 手册中详细解释了工作单元/事务范围概念。