zoukankan      html  css  js  c++  java
  • SpringBoot事务@Transactional失效的常见问题之一

    SpringBoot事务 | 未生效 | 无效 | 不生效 | 不回滚 | 不起作用
    如果你使用了 @Transactional 和 @EnableTransactionManagement 没有生效,那么你看看在事务注解包含的方法内是否使用try-catch了。默认事务回滚对于try-catch的代码不会生效,如果必须try-catch又要事务生效,则需要在catch块内手动回滚。但是不推荐这么写,推荐Service层将异常往上抛,Controller层去捕获处理。

    关于手动回滚,你可以看这里

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//进行手动回滚

    //设置回滚点
    Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
    ....
    //回滚到savePoint
    TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);

    当然我遇到的只是事务不生效的原因之一,可能并不适用你所遇到的情况,仅作为备忘使用,如果能恰巧帮到你那就呱唧一下

  • 相关阅读:
    SDUT_1743 最优合并问题
    并查集路径压缩方法
    java定时器
    出路在哪里?出路在于思路!
    ztree学习
    sql
    java乱码问题详解值得收藏
    js 增加删除表格的行
    java DataBaseExecutor
    java增删改查
  • 原文地址:https://www.cnblogs.com/zhifa/p/13187176.html
Copyright © 2011-2022 走看看