講一下 Spring的事務傳播特性

2021-08-20 07:13:48 字數 1039 閱讀 7653

1. propagation_required:

如果存在乙個事務,則支援當前事務。如果沒有事務則開啟

2. propagation_supports:

如果存在乙個事務,支援當前事務。如果沒有事務,則非事

務的執行

3. propagation_mandatory:

如果已經存在乙個事務,支援當前事務。如果沒有乙個活

動的事務,則丟擲異常。

4. propagation_requires_new:

總是開啟乙個新的事務。如果乙個事務已經存在,則

將這個存在的事務掛起。

5. propagation_not_supported:

總是非事務地執行,並掛起任何存在的事務。

6. propagation_never:

總是非事務地執行,如果存在乙個活動事務,則丟擲異常

7. propagation_nested

:如果乙個活動的事務存在,則執行在乙個巢狀的事務中

. 如果

沒有活動事務

, 則按

transactiondefinition.propagation_required

屬性執行

總結一下:

propagation

required

需要 如果存在乙個事務,則支援當前事務。如果沒有事務則開啟

supports

支援 如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行

mandatory

必要的

如果已經存在乙個事務,支援當前事務。如果沒有乙個活動的事務,則

丟擲異常。

required_new

總是開啟乙個新的事務。如果乙個事務已經存在,則將這個存在的事務掛起。

not_support

總是非事務地執行,並掛起任何存在的事務。

never

絕不 總是非事務地執行,如果存在乙個活動事務,則丟擲異常

nested

巢狀的 如果有就巢狀、沒有就開啟事務

SPRING的事務傳播

propagation required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation mandatory 支援當前事務,如果當前沒有事務,就丟擲異常。propa...

spring的事務傳播特性

事務的幾種傳播特性 1.propagation required 如果存在乙個事務,則支援當前事務。如果沒有事務則開啟 2.propagation supports 如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行 3.propagation mandatory 如果已經存在乙個事務,支...

Spring的事務傳播屬性

required 業務方法需要在乙個事務中執行。如果方法執行時,已經處在乙個事務中,那麼加入到該事務,否則為自己建立乙個新的事務。not supported 宣告方法不需要事務。如果方法沒有關聯到乙個事務,容器不會為它開啟事務。如果方法在乙個事務中被呼叫,該事務會被掛起,在方法呼叫結束後,原先的事務...