Hibernate 嵌套@Transactional
是否可以在spring中嵌套@Transactional注释方法?考虑这样的事情:Hibernate 嵌套@Transactional,hibernate,spring,jakarta-ee,transactions,transactional,Hibernate,Spring,Jakarta Ee,Transactions,Transactional,是否可以在spring中嵌套@Transactional注释方法?考虑这样的事情: @Transactional public void a() { obj.b(); } @Transactional public void b() { // ... } 如果我在b()中回滚,在a()中回滚,在这种情况下会发生什么?方法b()上的第二个@Transactional注释不是必需的,因为默认情况下@Transactional具有required的传播,因此方法a()调用的方法将
@Transactional
public void a() {
obj.b();
}
@Transactional
public void b() {
// ...
}
如果我在b()中回滚,在a()中回滚,在这种情况下会发生什么?方法
b()
上的第二个@Transactional
注释不是必需的,因为默认情况下@Transactional
具有required
的传播,因此方法a()
调用的方法将是事务性的。如果希望在方法a()
调用的方法中启动新事务,则需要修改传播规则。阅读。由于b
是公共的,如果其他呼叫者独立于a
使用它会怎么样?那么什么是最佳实践呢?我认为如果它是公共的,那么它必须有@Transactional注释。在我的情况下,我不得不改为“私人可见性”。