Spring事務傳播註解

2021-09-27 04:36:41 字數 600 閱讀 1509

事務註解

@transactional(propagation = propagation.required)

括號裡propagation還有很多其他屬性

required(預設):支援使用當前事務,如果當前事務不存在,建立乙個新事務。

supports:支援使用當前事務,如果當前事務不存在,則不使用事務。

mandatory:中文翻譯為強制,支援使用當前事務,如果當前事務不存在,則丟擲exception。

requires_new:建立乙個新事務,如果當前事務存在,把當前事務掛起。

not_supported:無事務執行,如果當前事務存在,把當前事務掛起。

never:無事務執行,如果當前有事務則丟擲exception。

nested:巢狀事務,如果當前事務存在,那麼在巢狀的事務中執行。如果當前事務不存在,則表現跟required一樣。

註解寫法

@transactional(propagation = propagation.required)

xml寫法

spring註解事務傳播行為

在 service 類前加上 transactional 宣告這個 service 所有方法需要事務管理。每乙個業務方法開始時都會開啟乙個事務。spring 預設情況下會對執行期例外 runtimeexception 進行事務回滾。這個例外是 unchecked 如果遇到 checked 意外就不回...

spring事務傳播

採用程式設計式事務 1 getcurrentsession 與opensession 的區別?採用getcurrentsession 建立的session會繫結到當前執行緒中,而採用opensession 建立的session則不會 採用getcurrentsession 建立的session在co...

Spring事務傳播

required 預設 如果當前存在事務,就加入該事務,如果不存在,則建立乙個新的事務 supports 如果呼叫者有事務,則加入該事務,如果沒有,則以非事務方式執行 mandatory 如果存在事務,則加入該事務,如果不存在事務,則拋異常 requires new 重新建立乙個新的事務,如果當前存...