日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

spring 事務(wù)控制 設(shè)置手動(dòng)回滾 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

作者:Jothan Zhong 更新時(shí)間: 2024-01-11 編程語(yǔ)言

當(dāng)我們需要在事務(wù)控制的service層類中使用try catch 去捕獲異常后,就會(huì)使事務(wù)控制失效,因?yàn)樵擃惖漠惓2]有拋出,就不會(huì)觸發(fā)事務(wù)管理機(jī)制。怎樣才能即使用try catch去捕獲異常,而又讓出現(xiàn)異常后spring回滾呢,可在catch中拋出運(yùn)行時(shí)異常throw new RuntimeException(e)或者手動(dòng)回滾TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();使得事務(wù)生效,異?;貪L。

//假設(shè)這是一個(gè)service類的片段
 
try{ 
    //出現(xiàn)異常
} catch (Exception e) {
            e.printStackTrace();
           //設(shè)置手動(dòng)回滾
            TransactionAspectSupport.currentTransactionStatus()
                    .setRollbackOnly();
        }
return  xxx;

原文鏈接:https://blog.csdn.net/qq_43985303/article/details/135265304

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新