jjzjj

java - Spring @Transactional注解: Self Invocation

我知道当从同一个类内部调用事务方法时,它不会在事务中运行。Spring为事务方法创建代理并将它们包装在try-catchblock中,并在发生异常时回滚。考虑以下场景:@TransactionalpublicvoidsaveAB(Aa,Bb){saveA(a);saveB(b);}@TransactionalpublicvoidsaveA(Aa){dao.saveA(a);}@TransactionalpublicvoidsaveB(Bb){dao.saveB(b);}假设saveAB被另一个对象调用并且在saveB中发生异常,所以saveA成功完成但saveB没有。据我所知,即使sa