请详细描述需要增加的功能 如下代码,在多数据源环境,执行 saveBatch 会提示有多个事务

@Transactional(rollbackFor = Exception.class,transactionManager = DbConfig.ONLINE_TM,isolation = Isolation.READ_COMMITTED) public void saveQueue(List taskQueueList) {

        taskQueueService.saveBatch(taskQueueList);

}

原因是因为 saveBatch 本身也加了 @Transactional(rollbackFor = Exception.class)

建议底层代码就不要自动加 @Transactional,事务管理应该是业务层要解决的事

望采纳,感谢

Comment From: nieqiurong

3.5.7 mapper自带批量

Comment From: lijinan

其实我们偏向于把mybatis-plus的service和mapper当数据持久层用,在此基础上,再包装形成我们真正的业务层,并在此统一管理事务。

Comment From: nieqiurong

后面不再维护提供的service

Comment From: nieqiurong

5764

Comment From: limng06

其实我们偏向于把mybatis-plus的service和mapper当数据持久层用,在此基础上,再包装形成我们真正的业务层,并在此统一管理事务。

的确,在service里面写业务太麻烦了,不用service,service这个名字被占了也很难受。 大多数情况下的确是不用service了,只有单表简单业务在使用。

Comment From: davidsky11

后面不再维护提供的service

确实,把这种偏业务性的操作交给业务代码自行处理比较好。 多数据源和分库场景下,IService#saveBatch()、IService#saveOrUpdateBatch()、IService#updateBatchById() 都存在事务管理器使用混乱的问题。

想了解下,“后续不再维护service”,有具体的举措吗? 这个IService不维护后,已经使用过这个IService的业务代码如何保证最少改动来进行兼容,请一并考虑下