一句话描述

springboot工程,调用IService.saveBatch()方法批量插入,当前事务未生效的时候,mybatisplus打印的日志信息与实际情况不符合,比较让人费解

当前使用版本(必填,否则不予处理)

3.4.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

在使用了@Transactional注解,但事务未生效

重现步骤(如果有就写完整)

1.建立一个serviceimpl方法,打上@Transactional注解 2.调用saveBatch()方法进行批量保存

报错信息

WARN 20948 --- [nio-8888-exec-5] c.l.c.c.s.i.RolePermRelationServiceImpl : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4c0bbc8d] was not registered for synchronization because DataSource is not transactional MyBatis-Plus 事务未激活时提示信息问题 如图,很明显是事务未被启用,但却提示的信息是当前的数据源不支持事务,而且与spring的提醒内容一模一样,但是却并不是同一个问题,很容易让人误解

Comment From: vwater

2021-01-29 17:31:26 [XNIO-1 task-12] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession 2021-01-29 17:31:26 [XNIO-1 task-12] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3001995] was not registered for synchronization because synchronization is not active

Comment From: qmdx

修改为 https://github.com/baomidou/mybatis-plus/commit/770cf3c19ef0be0f589cf95992712d904b300e5a

Comment From: zer0131

使用saveBatch,明明开启了事务,为什么还提示这个呢?