事務註解
@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 重新建立乙個新的事務,如果當前存...