Spring事務回滾配置

1、Spring的默認事務機制,當出現unchecked異常時候回滾,checked異常的時候不會回滾;
unchecked異常包括error和runtime異常;checked異常包括IOException異常,需要try catch或向上拋出異常。程序在拋出runtime異常的時候纔會進行回滾,其他異常不會回滾,當然可以通過配置讓所有異常都回滾:
@Transaction(rollbackFor = {Exception.class})

2、當有try catch後捕獲了異常,事務不會回滾,如果不得不在service層寫try catch後throw new RuntimeException讓事務回滾。

3、基於註解的事務:
Transactional的異常控制,默認是Check Exception 不回滾,unCheck Exception回滾
如果配置了rollbackFor 和 noRollbackFor 且兩個都是用同樣的異常,那麼遇到該異常,還是回滾
rollbackFor 和noRollbackFor 配置也許不會含蓋所有異常,對於遺漏的按照Check Exception 不回滾,unCheck Exception回滾

關於回滾的配置,也可以參考 慕課網-Spring事務管理-6-2聲明式事務管理。

轉自:https://blog.csdn.net/qq_34406670/article/details/78984247

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章