spring事務控制注意

2021-09-01 01:40:41 字數 492 閱讀 7222

pring預設情況下會對執行期例外(runtimeexception)進行事務回滾。這個例外是unchecked 

如果遇到checked意外就不回滾。 

如何改變預設規則: 

1 讓checked例外也回滾:在整個方法前加上 @transactional(rollbackfor=exception.class) 

2 讓unchecked例外不回滾: @transactional(notrollbackfor=runtimeexception.class) 

3 不需要事務管理的(只查詢的)方法:@transactional(propagation=propagation.not_supported) 

注意: 如果異常被try{}catch{}了,事務就不回滾了,如果想讓事務回滾必須再往外拋try{}catch{throw exception}。 

spring——@transactional事務不管理jdbc,所以要自己把jdbc事務回滾。

Spring 事務 事務控制

0 註解 autowire 自動注入 url url b 1 spring專案中事務手動回滾 b transactionaspectsupport.currenttransactionstatus setrollbackonly 或者丟擲異常 transactional rollbackfor pu...

spring 事務控制

事務配置 二 在service加try 導致事務不回滾 註明 一般service不要加 try public class userserviceimpl catch exception e 三 解決方案 方法1 在service不加try,方法2 在 catch語句中最後增加throw new ru...

Spring事務控制

用別名方法b代替 逆向 寫入商品明細 param orderid param invoiceamount transactional rollbackfor exception.class 寫入一條資料 用別名方法c代替 正向 寫入商品明細 param orderid param userid pa...