Spring-Mybatis 子方法事务不生效问题
来源:互联网 发布:情侣头像 知乎 编辑:程序博客网 时间:2024/05/16 08:01
问题描述
使用Spring/Mybatis的项目事务不生效
问题定位
定位发现为部分接口事务不生效。不生效的事务的接口特征为
public void confirmReturnBooks(List<ReturnBookInfoDTO> returnBookInfoDTOS, Integer uid, List<ReturnBookInfoDTO> returnSuccessedBooks) throws AntException { for(ReturnBookInfoDTO returnBookInfoDTO : returnBookInfoDTOS){ try{ confirmReturnBook(returnBookInfoDTO,uid); returnSuccessedBooks.add(returnBookInfoDTO); }catch (Exception e){ throw new AntException(e.getMessage()); } } }
做为service被controller调用的入口方法。事务在下一级方法confirmReturnBook中启用
@Transactional(rollbackFor = Throwable.class)public void confirmReturnBook(ReturnBookInfoDTO returnBookInfoDTO, Integer uid) throws AntException { .....}
这种调用方法事务并不会被spring识别。需要将事务放在被controller调用的接口上
问题解决
- 可以在总入口方法也加上@Transactional 这样在整个方法上开启事务,上例中在confirmReturnBooks方法上加上@Transactional
- 将非事务处理的部分放到controller上处理。上例中将confirmReturnBooks提到controller层处理
阅读全文
0 0
- Spring-Mybatis 子方法事务不生效问题
- Spring事务不生效问题汇总
- spring事务 方法调用内部方法 事务不生效
- SpringMVC+myBatis事务不生效
- Spring service本类中方法调用另一个方法事务不生效问题
- Spring service本类中方法调用另一个方法事务不生效问题
- Spring service本类中方法调用另一个方法事务不生效问题
- Spring service本类中方法调用另一个方法事务不生效问题
- Spring service本类中方法调用另一个方法事务不生效问题
- Spring-service本类中方法调用另一个方法事务不生效问题
- Spring 开启事务类调用本类方法不生效问题
- spring事务注解不生效
- spring本类中调用事务方法不生效
- spring配置hibernate事务aop不生效的问题
- SpringMVC+Mybatis 事务不生效的解决方案
- Spring事务不生效的解决过程
- spring mvc 事务不生效 不回滚
- spring mvc 事务不生效 不回滚
- 进程间通信
- DISM用于Win7部署的实验笔记
- thinkphp3.2.3图片上传类
- CodeForces 551 D.GukiZ and Binary Operations(dp+矩阵快速幂)
- 【Java设计模式12】——外观模式
- Spring-Mybatis 子方法事务不生效问题
- 基于DAGNN的MNIST NET
- HDU 2090
- 动态规划---01背包与记忆化搜索
- c++不使用循环打印1到100
- 小白笔记----------------------------------------leetcode 3. Longest Substring Without Repeating Characte
- spring IOC 的理论基础
- 八皇后问题
- Windows10下tensorflow_gpu环境搭建