@Transactional方法是否应该回滚,以防调用在 Spring 中抛出 RuntimeException 的私有



事务应该回滚到这里吗?

@Service
public class Serv {
@Transactional
public void method1() {
method2();
}
private void method2(){
throw new RuntimeException();
}
}

还是取决于什么?

(在今天之前,我对所描述的行为有 100% 的把握。但一位采访者说,这取决于。我不同意他的观点,但当然无济于事。

最佳/通常的结果是回滚,因为这取决于

也许面试官的意思是检查您是否知道何时不会按预期回滚

这意味着您不应该假设@Transactional实际上正在工作,应该首先检查它,因为如果@Transactional不起作用,就不会回滚。

例如,在同一类中调用事务方法的情况下,如果从同一类中的method3((调用method1((,则@Transactional将不起作用并且不会回滚

相关内容

  • 没有找到相关文章

最新更新