傳送門:https://blog.csdn.net/nbl_yc/article/details/104019732 事務方法之間的調用,回滾問題
前提:事務的傳播行爲用在事務與事務之間
舉例:前提:abc都具有事務,ac的傳播模式爲默認的required,有一步出錯,該方法下面的方法就不會再執行了
@Transactional
public void mainTransaction(){
a();
b();
c();
}
情況一:
如果a,b,c的傳播方式是required(自己內部的傳播模式),那麼abc屬於綁定的狀態,一個出錯,全部回滾
情況二:
如果ac的傳播模式是required,b的傳播模式是requiredNew,那麼b異常,ab都會回滾;c要是異常,a會回滾,b因爲開啓了自己的事務,已經執行到數據庫了,不會再回滾