关于方法A调用方法B的事务控制问题

关于方法A调用方法B的事务控制问题

关于方法A调用方法B的事务控制问题_第1张图片

实测,不管是上图还是下图,得到的结论都是一致的,那就是:

前提是同一个类里的方法调用,controller层类调用service的B方法,事务自然会生效的

a.异常发生后,被调用方法(B)是否添加事务控制,对于事务的回滚是否并不产生影响

b.调用B的方法,添加了事务控制才能实现异常事务回滚,不管被调用方法B是否有事务控制

c.不管嵌套调用了多少个方法,只要最顶层方法(没被同一个类中其他方法调用的且调用了同一个类里其他方法的方法),有事务控制,那么不管是哪个被调用的方法异常,整个调用的业务数据都回滚,不管被调用的方法是否有添加了事务的控制

关于方法A调用方法B的事务控制问题_第2张图片
其实,最好的办法是根据自己实际调用的情况,模拟测试一下就知道了,希望能帮助到你

你可能感兴趣的:(笔记)