24

是否可以在 spring 中嵌套 @Transactional 注释方法?考虑这样的事情:

@Transactional
public void a() {
    obj.b();
}

@Transactional
public void b() {
    // ... 
}

如果我在 b() 中回滚并在 a() 中回滚,在这种情况下会发生什么?

4

1 回答 1

41

方法上的第二个@Transactional注释b()不是必需的,因为默认情况下@Transactional具有 的传播REQUIRED,因此方法调用的方法a()将是事务性的。如果您希望在方法调用的方法中启动新事务,a()则需要修改传播规则。阅读有关事务传播的信息。

于 2011-07-09T09:18:56.207 回答