问题一:同一个类中,非事务方法A调用事务方法B,方法B事务不生效
问题二:同一个类中,在事务方法A中调用另外一个事务方法B,被调用方法B的事务没起作用
问题三:同一个类中,事务方法A调用非事务方法B,如果B方法发生异常,方法B会回滚
问题三:不想让B回滚:
可以在A方法上@Transactional(noRollbackFor = RException.class)设置不回滚异常
可以在B方法上@Transactional(propagation = Propagation.NOT_SUPPORTED)挂起不让B回滚,但是这种又是“问题二”,同一个类中是this调用不事务不会生效(放到另一个类中调用,交给spring代理调用就行了)
相关链接