Spring的事務管理對何種異常進行回滾
一、結論
Spring的事務管理默認隻對出現運行期異常(java.lang.RuntimeException及其子類)進行回滾。
如果一個方法拋出Exception或者Checked異常,Spring事務管理默認不進行回滾。
關於異常的分類請參看本博客的《Java異常分類》https://blog.csdn.net/woshixuye/article/details/8230407
二、改變默認方式
在@Transaction注解中定義noRollbackFor和RollbackFor指定某種異常是否回滾。
@Transaction(noRollbackFor=RuntimeException.class)
@Transaction(RollbackFor=Exception.class)
這樣就改變了默認的事務處理方式。
三、啟示
這就要求我們在自定義異常的時候,讓自定義的異常繼承自RuntimeException,這樣拋出的時候才會被Spring默認的事務處理準確處理。
最後更新:2017-04-04 07:32:09
上一篇:
android ListView中Checkbox實現單選,全選,全不選功能——1
下一篇:
一位三年程序員的經驗總結
ios優秀開源項目收集(不斷更新中....)
JSP網頁分頁顯示數據庫的內容
Android 4.0設置Dialog點擊屏幕不消失
JAVA獲取圖片大小和尺寸
《Servlet、JSP和Spring MVC初學指南》——1.3 編寫基礎的Servlet應用程序
GDB調試MySQL
新型智慧城市:以信息為基礎的精確化管理
Linux網絡設置2——虛擬機中的Linux和Windows網絡互通設置
Douglas Adams - 3 Rules That Describe Our Reactions To Technologies 科技影響生活的三個規律
控製gridview顯示字段中顯示的字數