原來記事務傳播性的時候,是死記硬背7種,每次背了就忘背了就忘
propagation_required--支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。
propagation_supports--支援當前事務,如果當前沒有事務,就以非事務方式執行。
propagation_mandatory--支援當前事務,如果當前沒有事務,就丟擲異常。
propagation_requires_new--新建事務,如果當前存在事務,把當前事務掛起。
propagation_not_supported--以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
propagation_never--以非事務方式執行,如果當前存在事務,則丟擲異常。
propagation_nested--巢狀到父事務中,跟著父事務提交而提交,跟著父事務回歸而回滾
springapi設計的非常不錯,基本知道英文翻譯就能知道作用。
required:必須的 說明事務時必須的 沒有就新建事務
supports::支援 說明僅僅支援事務 沒有事務就以非事務方法執行
mandatory:強制的, 說明一定要有事務,沒有事務就拋異常
reuquires_new必須新建事務,當前有事務,就將事務掛起
not_supported: 不支援事務,如果存在事務就掛起
never:絕不會有是u我 如果存在事務就丟擲異常
nested:巢狀,當前有事務,新建乙個事務巢狀到父事務中,父事務回歸,新建的事務也會回滾
看看上面的方法,只用記住required(必須的) ,supports(支援),mandatory(強制的), never(絕不會),nested(巢狀)五個簡單的單詞,再去聯想7種情況 那麼事務的傳播性記住就相對很容易啦。
spring事務的傳播性
spring事務的傳播行為 1.propagation manatory 強制使用當前事務,如果當前沒有事務,就會丟擲乙個異常 2.propagation nested 如果當前存在事務,則在該事務內巢狀執行 巢狀執行時屬於該事務的子事務,當外層事務提交時,子事務跟著提交 子事務提交或回滾不會影響外...
Spring 宣告式事務的傳播性
spring中設定事務的傳播屬性有如下7種 required 業務方法需要在乙個事務中執行,如果方法執行時,已處在乙個事務中,那麼就加入該事務,否則自己建立乙個新的事務.這是spring預設的傳播行為.supports 如果業務方法在某個事務範圍內被呼叫,則方法成為該事務的一部分,如果業務方法在事務...
Spring事務隔離性和傳播性的概念
事務隔離級別 他對其他事務所看到的資料變化進行控制。隔離級別 說明 isolation default 預設級別 對大多數資料庫來說就是isolation read committed isolation read uncommitted 最低的隔離級別。事實上我們不應該隔離級別,因為在事務完成前,...