springboot 项目中使用@transactional注解不生效导致事务回滚失败问题总结
Posted zjg-gwx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 项目中使用@transactional注解不生效导致事务回滚失败问题总结相关的知识,希望对你有一定的参考价值。
在常规使用@transactional注解时,如果碰到不生效问题,要首先想到如下几个问题:
1. 如果是有关数据库操作,首先要查看牵涉到的表使用的引擎是什么引擎,要知道使用"MYISAM"数据库引擎是不支持事务回滚操作的,需要使用"InnoDB数据引擎".
2. 查看方法是否是public方法,如果方法是private方法,也是不支持事务的.
3. 如果事务回滚失败还要查看出现的异常是checked异常还是unchecked异常.checked异常会回滚,unchecked异常也是不会执行回滚操作的,如果需要指定异常的回滚级别,可以使用@transactional(rollcbackFor="Exception.class")
以上是关于springboot 项目中使用@transactional注解不生效导致事务回滚失败问题总结的主要内容,如果未能解决你的问题,请参考以下文章
Java 基础SpringBoot 中 @Transactional 注解的使用与实践
启动springboot的JPA项目爆出javax.interceptor.InterceptorBinding not found,用错了包名下的@Transactional