anxyh 2021-11-17 12:12 采纳率: 25%
浏览 64
已结题

使用@Transactional声明式事务后,在业务代码中如果手动提交了事务

使用@Transactional注解开启声明式事务
然后因业务需要在业务代码中使用编程式事务手动提交了事务
因为Transactional是基于AOP的关系,在业务方法执行完成后,spring会自动提交事务,因此spring会发现事务已经被提交,从而报错
请问有什么办法屏蔽掉这个报错或者说在使用Transactional注解开启事务后,如果发现事务已经被提交,就不再自动提交事务了?

想要的效果就是 使用了Transactional来开启事务,但可能我在业务中会手动提交事务,spring在到了需要自动提交事务的时候,如果发现事务已经被提交了,就不要报错或者直接就不要再提交事务了

请问有没有什么办法?

  • 写回答

2条回答 默认 最新

  • a1767028198 2021-11-17 13:36
    关注

    亲测没问题,你这怕是配置问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 修改了问题 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 求解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果