Spring 事務不回滾的原因

2021-08-18 23:12:48 字數 360 閱讀 1628

在工作中,看過別人寫的**出現了事務不回滾的現象。當然,事務不回滾的都是採用的宣告式事務或者是註解事務;程式設計式事務都是自己寫**手動回滾的,因此是不會出現不回滾的現象。

再說下宣告式

事務和註解事務回滾的原理:當被切面切中或者是加了註解的方法中丟擲了runtimeexception異常時,spring會進行事務回滾。預設

情況下是

捕獲到方法的

runtimeexception

異常 ,也就是說丟擲只要屬於執行時的異常(即

runtimeexception及其子類

)都能回滾;但當丟擲乙個不屬於執行時異常時,事務是不會回滾的。

下面說說我經常見到的3種事務不回滾的產生原因:

不回滾的原因查詢

偶然發現系統有塊功能出異常了資料庫update沒有回滾,看了 自己做了實驗。兩種情況 第一種 override public void overduedeductsuccess2 throws exception private void updaterepaydata2 throws except...

spring mybatis事務不回滾

對spring,mybatis進行整合時發現事務不能進行回滾處理,上網查了很多資料依舊還沒解釋,很多都是說要丟擲乙個runtimeexception才能回滾的,但嘗試過多種還不能,如下 classpath jdbc.properties bolgservice bolgflowservice 檢視資...

Transactional註解不回滾原因詳解

最近試了試spring的回滾功能,根據網上的教程配置怎麼都不好使,遂尋找答案,網上的答案都是這麼講的 1.檢查你方法是不是public的。2.你的異常型別是不是unchecked異常。如果我想check異常也想回滾怎麼辦,註解上面寫明異常型別即可。transactional rollbackfor ...