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);

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

  • 相关阅读:
    杭电1827
    hdu 3118
    poj 2060
    hdu 2236
    poj 2226
    poj 1719
    poj 1466
    poj 3160
    骑士飞行棋笔记
    基础测试学习笔记
  • 原文地址:https://www.cnblogs.com/zhifa/p/13187176.html
Copyright © 2011-2022 走看看