事務注意事項

2021-08-05 00:02:16 字數 708 閱讀 9982

注意事項

1. 在需要事務管理的地方加@transactional註解。@transactional 註解可以被應用於介面定義和介面方法、類定義和類的 public 方法上。

@transactional註解只能應用到 public 可見度的方法上。 如果你在 protected、private 或者 package-visible 的方法上使用 @transactional 註解,它也不會報錯, 但是這個被註解的方法將不會展示已配置的事務設定。

注意僅僅 @transactional 註解的出現不足於開啟事務行為,它僅僅是一種元資料。必須在配置檔案中使用配置元素,才真正開啟了事務行為。

spring團隊建議在具體的類(或類的方法)上使用 @transactional 註解,而不要使用在類所要實現的任何介面上。在介面上使用 @transactional 註解,只能當你設定了基於介面的**時它才生效。因為註解是 不能繼承 的,這就意味著如果正在使用基於類的**時,那麼事務的設定將不能被基於類的**所識別,而且物件也將不會被事務**所包裝。

@transactional 的事務開啟,是基於介面的或者是基於類的**被建立。所以在同乙個類中乙個方法呼叫另乙個方法是有事務的方法,事務是不會起作用的。

spring使用宣告式事務處理,預設情況下,如果被註解的資料庫操作方法中發生了unchecked異常,所有的資料庫操作將rollback;如果發生的異常是checked異常,預設情況下資料庫操作還是會提交的。

事務的注意事項

a.乙個功能是否要事務,必須納入設計 編碼考慮。不能僅僅完成了基本功能就ok。b.如果加了事務,必須做好開發環境測試 測試環境也盡量觸發異常 測試回滾 確保事務生效。c.以下列了事務使用過程的注意事項,請大家留意。1.不要在介面上宣告 transactional 而要在具體類的方法上使用 trans...

EJB 事務注意事項

在上篇文章我們提到 當執行多個事務的時候 並且這些事務方式資料庫中的相同資料會出現一系列的併發問題 這些問題彙總起來總共有以下幾類.丟失更新 撤銷乙個事務時,把其他事務已提交的更新資料覆蓋。髒讀 乙個事務讀到另乙個事務為提交的更新資料。不可重複讀 乙個事務讀到另乙個事務已提交的更新資料。幻像讀 乙個...

事務異常注意事項

主要點 try.catch不會返回物件錯誤或者字段錯誤等型別的錯誤當 set xact abort 為 on 時,如果執行 transact sql 語句產生執行時錯誤,則整個事務將終止並回滾。當 set xact abort 為 off 時,有時只回滾產生錯誤的 transact sql 語句,而...