事务应该回滚到这里吗?
@Service
public class Serv {
@Transactional
public void method1() {
method2();
}
private void method2(){
throw new RuntimeException();
}
}
还是取决于什么?
(在今天之前,我对所描述的行为有 100% 的把握。但一位采访者说,这取决于。我不同意他的观点,但当然无济于事。
最佳/通常的结果是回滚,因为这取决于
也许面试官的意思是检查您是否知道何时不会按预期回滚
这意味着您不应该假设@Transactional
实际上正在工作,应该首先检查它,因为如果@Transactional
不起作用,就不会回滚。
例如,在同一类中调用事务方法的情况下,如果从同一类中的method3((调用method1((,则@Transactional
将不起作用并且不会回滚