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注解不生效导致事务回滚失败问题总结的主要内容,如果未能解决你的问题,请参考以下文章

@Transactional使用

Java 基础SpringBoot 中 @Transactional 注解的使用与实践

启动springboot的JPA项目爆出javax.interceptor.InterceptorBinding not found,用错了包名下的@Transactional

SpringBoot中添加事务

是否可以在 Spring Boot 中使用 @Transactional 和 kotlin 协程?

如何在 Spring Boot 中使用 @Transactional 注解