Transactional 註解失效的場景

2021-10-07 03:49:38 字數 500 閱讀 9434

1、@transactional 作用在非 public 修飾的方法上

2、@transactional 作用於介面,使用 cglib 動態**

3、@transactional 註解屬性 propagation 設定以下三種可能導致無法回滾

4、同一類中加 @transactional 方法被無 @transactional 的方法呼叫,事務失效

5、@transactional 方法內異常**獲

6、預設 runtimeexception 和 error 及子類丟擲,會回滾;rollbackfor 指定的異常及子類發生才會回滾

7、資料庫不支援事務,如 myslql 使用 myisam 儲存引擎

8、spring 的配置檔案中未配置事務註解生效

9、spring boot 引入 jbdc 或 jpa 包,預設事務註解。若未引入這兩個包,需要使用 @enabletransactionmanagement 進行配置

Transactional註解初見

之前一直使用宣告式事務,切面程式設計的配置方式讓程式設計者忘記了事務的存在,一旦離開,發現這個事務還是蠻重要的 public inte ce userservice transactional public class userserviceimpl implements userservice p...

Transactional註解詳解

預設遇到throw new runtimeexception 會回滾 需要捕獲的throw new exception 不會回滾 指定回滾 transactional rollbackfor exception.class public void methodname 指定不回滾 transacti...

Transactional註解用法

1.事務隔離級別 隔離級別是指若干個併發的事務之間的隔離程度。transactiondefinition 介面中定義了五個表示隔離級別的常量 2.事務傳播行為 所謂事務的傳播行為是指,如果在開始當前事務之前,乙個事務上下文已經存在,此時有若干選項可以指定乙個事務性方法的執行行為。在transacti...