Spring的七種傳播行為

2021-10-24 23:18:17 字數 519 閱讀 1342

1、propagation_required:如果當前沒有事務,就建立乙個新事務,如果當前存在事務,就加入該事務,該設定是最常用的設定。

2、propagation_nested:如果當前存在事務,則在巢狀事務內執行。如果當前沒有事務,則執行與propagation_required類似的操作

3、propagation_supports:支援當前事務,如果當前存在事務,就加入該事務,如果當前不存在事務,就以非事務執行。『

4、propagation_mandatory:支援當前事務,如果當前存在事務,就加入該事務,如果當前不存在事務,就丟擲異常。

5、propagation_requires_new:支援當前事務,建立新事務,無論當前存不存在事務,都建立新事務。

6、propagation_not_supported:以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

7、propagation_never:以非事務方式執行,如果當前存在事務,則丟擲異常。

預設為propagation_required

Spring七種事務傳播行為

如果有事務在執行,當前的方法就在這個事務內執行,否則就開啟乙個新的事務,並在自己的事務內執行 常用 當前的方法必須啟動新事務,並在它自己的事務內執行。如果有事務在執行,應該將其掛起。常用 如果有事務在執行,當前這個方法就在這個事務內執行,否則它可以不執行在事務中 當前的方法不應該執行在事務中,如果有...

spring 事務傳播的七種行為

propagation required 必須事務,如果當前存在事務,則使用當前的事務,如果不存在事務,則新建事務。propagation supports 當前有事務則在事務中執行,沒有,則無事務執行。propagation required new 當前有事務,則掛起當前事務,新建事務執行,沒有...

Spring的7種事務傳播行為

事務傳播行為指的是乙個事務方法被另乙個事務方法呼叫時,這個事務方法應該如何進行。比如說,有乙個a方法,裡面呼叫了b方法,當執行到b方法時,是應該在當前事務裡執行,還是重新開啟乙個事務來執行,這是由b方法的事務傳播行為決定的 propagation required 表明當前方法一定要在事務中執行,如...