同类调用,例如a方法没有事务,b方法有事务注解,那么a调用b,事务会失效,因为spring的事务采用aop机制,其他bean调用 a接口,是采用代理类,而a请求b,b是内部方法,使用的this.b() 并不是代理类,所以有这个问题。解决方案 在类中注入自己,a调用b时.
方法是 private,final static 等修饰。
try catch 自己捕捉了。
默认抛出的异常是 RunTimeException 或者Error 才会回滚,或者指定异常。
多线程,数据库的连接,存储在ThreadLocal中,外面的线程的,里面的线程,使用的数据连接是不同的。
类没有被spring管理,那肯定也没事务。
数据库不支持事务。
未配置事务(springBoot前的框架可能有这个问题)。
9.
版权归属:
gsh456
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区