風人園

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

          spring 事務的回滾問題

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

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

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

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

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

          評論

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

          根據傳智播客的講座中的講解,所謂check和uncheck是針對調用者來說的。你編寫了這段功能,如果標明是check,調用這段代碼的人就必須捕獲該異常。反之,如果你編寫的這段代碼標明是uncheck,調用這段代碼的地方,就可以不捕獲該異常。
          不知道俺說清楚了沒。
          2011-01-07 10:05 | mulanhua
          主站蜘蛛池模板: 潢川县| 衡阳县| 彰化县| 安康市| 石狮市| 聊城市| 宜兰市| 浮山县| 内丘县| 仲巴县| 柳州市| 柘城县| 冀州市| 波密县| 山阳县| 晋江市| 佛坪县| 五河县| 柯坪县| 胶南市| 紫阳县| 沈阳市| 临湘市| 梨树县| 大余县| 德江县| 九龙城区| 嘉善县| 南昌市| 鲁山县| 衡阳县| 堆龙德庆县| 泽州县| 荥阳市| 永丰县| 山西省| 临泽县| 喜德县| 盐边县| 商城县| 收藏|