zoukankan      html  css  js  c++  java
  • UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only解决办法

    引发原因:当前类中使用@Transactional注解,当前类中的一个方法内的try catch内调用了来自两个服务类的中的两个方法,

    方法1正常运行,但是方法2抛出异常,此时因为当前类中有@Transactional注解,所以方法1也需要回滚,但是两个方法都同在

    一个try catch 内,所以也无法回滚,这时抛出异常UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only。

    解决办法:用另外一个类且有@Transactional注解,将两个方法封装成同一个方法3,此时两个方法在同一个事物中,再调用方法3时,方法内其中一个方法

    抛出异常,另一个方法也能够正常回滚。

    示意图如下:

     

  • 相关阅读:
    2018年12月29日 Oracle查询性能优化
    B
    A
    洛谷 P2447 [SDOI2010]外星千足虫
    洛谷 P5358 [SDOI2019]快速查询
    欠的题目
    ZJU-ICPC Summer 2020 Contest 8 B-Picnic
    洛谷 P3164 [CQOI2014]和谐矩阵
    K
    J
  • 原文地址:https://www.cnblogs.com/max1995/p/15426882.html
Copyright © 2011-2022 走看看