Spring boot事务无效报错:Transaction not enabled问题排查解决

 更新时间:2023年11月27日 09:14:00   作者:clooker  
在业务代码中经常需要保证事务的原子性,但是有的时候确实是出现事务没有生效,这篇文章主要给大家介绍了关于Spring boot事务无效报错:Transaction not enabled问题排查的相关资料,需要的朋友可以参考下

问题描述

使用spring boot + mybatis plus时添加的事务不生效,并且有些方法操作会出现如下异常:

c.a.m.s.i.SubscriptionsStatsServiceImpl [SqlHelper.java : 179] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7f63bdb9] Transaction not enabled

问题排查

追踪SqlHelper类,找到报错的位置,如下:

可以看到只有批量插入才会报错,单条插入不报错。报错是因为得不到事务标识,猜测可能是事务注解没生效。

事务使用方法

查找spring boot的事务使用方式,大多数都是说通过两个注解就可以了。

首先在启动类中添加EnableTransactionManagement,如下:

然后在Service方法或者类上边添加Transactional,如下:

之后spring boot会自动在方法中添加事务。

上述方法是网上通用的方法,详细参考:https://www.jb51.net/program/3060192mp.htm,但是本地测试事务无效。

问题解决

后来想到每个service都集成了BaseService,其中的save、saveBatch等常用方法都放到了BaseService中,但是BaseService本身没有添加Transactional注解,添加后问题解决。。。

总结

到此这篇关于Spring boot事务无效报错:Transaction not enabled问题排查解决的文章就介绍到这了,更多相关Springboot事务无效报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Spring Cloud Zuul网关修改为短连接方法

    详解Spring Cloud Zuul网关修改为短连接方法

    本文主要介绍了详解Spring Cloud Zuul网关修改为短连接方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • SpringBoot日志文件的实现示例

    SpringBoot日志文件的实现示例

    日志是程序中的重要组成部分,使用日志可以快速的发现和定位问题,本文主要介绍了SpringBoot日志文件的实现示例,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Spring Boot深入排查 java.lang.ArrayStoreException异常

    Spring Boot深入排查 java.lang.ArrayStoreException异常

    这篇文章介绍了Spring Boot深入排查 java.lang.ArrayStoreException异常,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Spring Boot处理全局统一异常的两种方法与区别

    Spring Boot处理全局统一异常的两种方法与区别

    这篇文章主要给大家介绍了关于Spring Boot处理全局统一异常的两种方法与区别,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • springboot2中使用@JsonFormat注解不生效的解决

    springboot2中使用@JsonFormat注解不生效的解决

    这篇文章主要介绍了springboot2中使用@JsonFormat注解不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分页)

    SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分页)

    这篇文章主要给大家介绍了关于SpringMVC4 + MyBatis3 + SQL Server 2014整合的相关资料,文中包括介绍了增删改查分页等相关内容,通过示例代码介绍的非常详细,分享出来供大家参考学习,下面来一起看看吧。
    2017-06-06
  • MyBatisPlus分页时排序的实现

    MyBatisPlus分页时排序的实现

    本文主要介绍了MyBatisPlus分页时排序的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Javassist之一秒理解java动态编程

    Javassist之一秒理解java动态编程

    概述Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。
    2019-06-06
  • Security中的WebSecurityConfigurerAdapter详解

    Security中的WebSecurityConfigurerAdapter详解

    这篇文章主要介绍了Security中的WebSecurityConfigurerAdapter详解,今天我们要进一步的的学习如何自定义配置Spring Security,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Java实现的简单数字时钟功能示例

    Java实现的简单数字时钟功能示例

    这篇文章主要介绍了Java实现的简单数字时钟功能,涉及java日期时间及JFrame框架图形界面操作相关实现技巧,需要的朋友可以参考下
    2019-02-02

最新评论