spring的7個事務傳播屬性:
required:業務方法需要在乙個事務中執行。如果方法執行時,已經處在乙個事務中,那麼假如到該事務,否則為自己建立乙個新的事物
not_supported:宣告方法不需要事務。如果方法沒有關聯到乙個事務,容器不會為它開啟事務。如果方法在乙個事務中被呼叫,該事務會被掛起,在方法呼叫結束後,原先的事務便會恢復執行。
requirednew:屬性表明不管是否存在事務,業務方法總會為自己發起乙個新的事務。如果方法已經執行乙個事務中,則原有的事務會被掛起,新的事物會被建立,直到方法執行結束,新的事務才算結束,原先的事務才會被恢復執行。
mandatory:該屬性指定業務方法只能在乙個已經存在的事務中執行,業務方法不能發起自己的事務。如果業務方法在沒有事務的環境下呼叫,容器就會丟擲異常。
supports:該事務屬性表明,如果業務方法在某個業務範圍內被呼叫,則方法成為該事務的一部分。如果業務方法在事務範圍外被呼叫,則方法在沒有事務的環境下執行。
never:指定業務方法絕對不能在事務範圍內執行。如果業務方法在某個事務中執行,容器會丟擲異常,只有業務方法沒有關聯到任何事務,才能正常執行。
nested:如果乙個活動的事務存在,則執行在乙個巢狀的事務中。如果沒有活動事務,則按required屬性執行,它使用乙個單獨的事務,這個事務擁有多個可以回滾的儲存點。內部事務的回滾不會對外部事務造成影響。它只對datesourcetransationmanager事務管理器起作用。
spring的4個資料庫隔離級別:
read uncommited:讀未提交資料(會出現髒讀,不可重複讀和幻讀)
read commited:讀已提交資料(會出現不可重複讀和幻讀)
repeated read:可重複讀(會出現幻讀)
serializable: 序列化
Spring 事務傳播屬性
propagation required 支援當前事務,如果不存在這建立乙個新事務,這是預設的事務管理。propagation supports 支援當前事務,如果不存在則已非事務的方式執行 propagation mandatory 如果存在乙個事務,支援當前事務,如果沒有事務活動則丟擲異常 pr...
Spring的事務傳播屬性
required 業務方法需要在乙個事務中執行。如果方法執行時,已經處在乙個事務中,那麼加入到該事務,否則為自己建立乙個新的事務。not supported 宣告方法不需要事務。如果方法沒有關聯到乙個事務,容器不會為它開啟事務。如果方法在乙個事務中被呼叫,該事務會被掛起,在方法呼叫結束後,原先的事務...
Spring事務的傳播屬性
搜尋 198200.com spring在transactiondefinition介面中規定了7種型別的事務傳播行為。事務傳播行為是spring框架獨有的事務增強特性,他不屬於的事務實際提供方資料庫行為。這是spring為我們提供的強大的工具箱,使用事務傳播行可以為我們的開發工作提供許多便利。但是...