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

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

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

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

请问有没有什么办法?

  • 写回答

2条回答 默认 最新

  • 编号灬9527 2021-11-17 13:36
    关注

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

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

报告相同问题?

问题事件

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