spring事務

人在代码在發表於2024-07-06

這部分理解的比較少,在牛客網上看到的幾個事務,先記下來:
這裡寫圖片描述

PROPAGATION_REQUIRED(propagation_required)
如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。

PROPAGATION_SUPPORTS(propagation_supports)
支援當前事務,如果當前沒有事務,就以非事務方式執行。

PROPAGATION_MANDATORY(propagation_mandatory)
使用當前的事務,如果當前沒有事務,就丟擲異常。

PROPAGATION_REQUIRES_NEW(propagation_requires_new)
新建事務,如果當前存在事務,把當前事務掛起。

PROPAGATION_NOT_SUPPORTED(propagation_not_supported)
以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

PROPAGATION_NEVER(propagation_never)
以非事務方式執行,如果當前存在事務,則丟擲異常。

PROPAGATION_NESTED(propagation_nested)
如果當前存在事務,則在巢狀事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。(巢狀的事務與當前事務同步提交或回滾)

相關文章