开发者社区> 问答> 正文

如何解决事务传播配置不符合业务逻辑这种情况呢?

已解决

如何解决事务传播配置不符合业务逻辑这种情况呢?

展开
收起
出笼的鸟 2022-03-31 20:54:48 447 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    调用发现user表和location表还是都没有插入数据。这是因为在LocationServiceImpl中事务已经被标记成回滚了,所以最终事务还会回滚。

    要想最终解决就不得不提到Spring的事务传播行为了,不清楚的小伙伴看《面试官:Spring事务的传播行为有几种?

    Transactional的事务传播行为默认为Propagation.REQUIRED。「如果当前存在事务,则加入该事务。如果当前没有事务,则创建一个新的事务」

    此时我们把LocationServiceImpl中Transactional的事务传播行为改成Propagation.REQUIRES_NEW即可

    「创建一个新事务,如果当前存在事务,则把当前事务挂起」

    2022-03-31 20:56:37
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
典型业务逻辑漏洞挖掘 立即下载
事务、全局索引、透明分布式 立即下载