風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數據加載中……

          spring 事務的回滾問題

              spring的事物配置,默認狀態下,只針對 RuntimeException 進行回滾。
          而像SQLException并不是RuntimeException,所以這里需要特別注意。

          這里困擾了我很久,一直沒有想明白為什么在一個事務里面,部分成功,部分失敗。可能就是這個原因導致的。
          也就是說,一些系統級別的異常,前期都需要轉化成 RuntimeException 。這樣就可以進行回滾了。

          但是這樣的只需要修改底層,另外一個偷懶的方法,在每個service類上直接指定rollback = Exception.class。這樣所有的異常都會回滾。但是這樣有沒有副作用,但是不清楚。

          異常一直是我沒有搞定的一塊內容之一,稱這個機會研究一下。
          為什么需要分check 和unckeck,兩者有什么不動點。
          如果都是用uncheck,會不會有什么問題?
          待續。。。

          posted on 2010-12-14 14:01 風人園 閱讀(878) 評論(1)  編輯  收藏 所屬分類: Spring

          評論

          # re: spring 事務的回滾問題  回復  更多評論   

          根據傳智播客的講座中的講解,所謂check和uncheck是針對調用者來說的。你編寫了這段功能,如果標明是check,調用這段代碼的人就必須捕獲該異常。反之,如果你編寫的這段代碼標明是uncheck,調用這段代碼的地方,就可以不捕獲該異常。
          不知道俺說清楚了沒。
          2011-01-07 10:05 | mulanhua
          主站蜘蛛池模板: 新津县| 凌源市| 丰顺县| 汉沽区| 邳州市| 乌鲁木齐市| 尉氏县| 兴安盟| 长寿区| 聂荣县| 健康| 旌德县| 永州市| 名山县| 云安县| 云阳县| 南召县| 南澳县| 太和县| 长兴县| 手机| 崇信县| 涟源市| 徐州市| 隆德县| 会同县| 二连浩特市| 平罗县| 含山县| 西昌市| 淅川县| 商南县| 闽侯县| 黄冈市| 米脂县| 贵德县| 锡林郭勒盟| 云霄县| 赣州市| 靖安县| 伊川县|