请详细描述需要增加的功能 如下代码,在多数据源环境,执行 saveBatch 会提示有多个事务
@Transactional(rollbackFor = Exception.class,transactionManager = DbConfig.ONLINE_TM,isolation = Isolation.READ_COMMITTED)
public void saveQueue(List
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的业务代码如何保证最少改动来进行兼容,请一并考虑下