zoukankan      html  css  js  c++  java
  • @Transactional 失效

    今天开发功能遇到一个坑,给一个类中方法配置事务

    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = RuntimeException.class)   ,让它遇到运行时异常回滚事务,但是事务一直没有生效,数据还是入了库。
    我们看问题代码:

    以上代码是controller层的importData调用service层的addeEmps带事务的方法。我们在server层用到了try,finally。这个不是service层内部无事务方法调用它,抛的异常也是Error和RuntimeException之一,
    方法也是public修饰的,没有道理不生效啊?

    但是,但是...它就是不生效!

    经过反复调试,问题出在了service层的try,finally{}上,try{}里面虽然抛了异常,但是事务不会回滚,由于是做了以下改造,我们把try,catch的操作放在了controller层:

    
    

    经过多次试验,事务正常回滚!!!

    
    
  • 相关阅读:
    排名第一、第二的OCR软件
    补码输出
    枚举 与 枚举的应用
    动态构造结构体数组
    c 冒泡排序
    strcpy
    typedef用法
    C 结构体小结
    int 占一个机器字长
    SQL Server创建视图——视图的作用
  • 原文地址:https://www.cnblogs.com/crelle/p/12852894.html
Copyright © 2011-2022 走看看