1.事务传播行为:
当我们调用Service的某个事务方法时,如果该方法内部又调用其它Service的事务方法,则会出现事务的嵌套。Spring定义了一套事务传播行为,请参考。这里我们假定都用的REQUIRED这个类型:如果当前没有事务,就新建一个事务,如果已经存在一个事务,则加入到的当前事务。
2.事务传播行为只在同一个线程中存在,因为mybatis使用sqlSession连接数据库使用的是ThreadLocal技术
spring 的事务管理是线程安全的

3.事务的嵌套调用会用到sqlSessionHolder

参考链接:
https://www.cnblogs.com/jians...
Mybatis源码解析:https://www.cnblogs.com/chihi...
spring中的事务传播行为例子:https://segmentfault.com/a/11...


Smile3k
197 声望22 粉丝