我有一个调用@Transactional(REQUIRES_NEW) 的@Transactional(REQUIRED) 方法。我看到的默认行为是内部事务正在回滚,但外部事务正在提交。这是预期的行为吗?
user689842
问问题
1850 次
1 回答
2
是的,这是预期的行为。执行内部事务时,外部事务被挂起。一旦内部事务结束(无论是提交还是回滚),外部事务就会恢复。
顺便说一句,文档说:
PROPAGATION_REQUIRES_NEW 与 PROPAGATION_REQUIRED 相比,对每个受影响的事务范围使用完全独立的事务。在这种情况下,底层物理事务是不同的,因此可以独立提交或回滚,外部事务不受内部事务回滚状态的影响。
于 2012-09-11T17:55:24.693 回答