在spring的配置檔案中,如果資料來源的defaultautocommit設定為true了,那麼方法中如果自己捕獲了異常,事務是不會回滾的,如果沒有自己捕獲異常則事務會回滾,如下例
比如配置檔案裡有這麼條記錄:
....
那麼現在有兩個情況
情況1:如果沒有在程式中手動捕獲異常
@transactional(rollbackfor = )
public void test() throws exception
情況2:如果在程式中自己捕獲了異常
@transactional(rollbackfor = )
public void test() catch (exception e)
}
現在如果我們需要手動捕獲異常,並且也希望拋異常的時候能回滾腫麼辦呢?
下面這樣寫就好了,手動回滾事務:
@transactional(rollbackfor = )
public void test() catch (exception e)
}
關於spring容器事務回滾
註解方式宣告事務,該事務宣告的範圍是service中的方法,而一般的事務宣告時不是宣告在 業務邏輯方法上的,而是宣告在單一的資料庫操作方法上的 transactional public class userserviceimpl implements userservice,new int thro...
關於Spring事務回滾的問題
在spring的配置檔案中,如果資料來源的defaultautocommit設定為true了,那麼方法中如果自己捕獲了異常,事務是不會回滾的,如果沒有自己捕獲異常則事務會回滾,如下例 比如配置檔案裡有這麼條記錄 那麼現在有兩個情況 情況1 如果沒有在程式中手動捕獲異常 transactional r...
spring事務回滾
註解方式宣告事務,該事務宣告的範圍是service中的方法,而一般的事務宣告時不是宣告在 業務邏輯方法上的,而是宣告在單一的資料庫操作方法上的 transactional publicclassuserserviceimplimplementsuserservice,newint thrownewe...