spring的事務的傳播特性

2021-06-22 11:10:32 字數 818 閱讀 1932

基本的六種事務傳播:

1. propagation_required: 如果存在乙個事務,則支援當前事務。如果沒有事務則開啟

2. propagation_supports: 如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行

3. propagation_mandatory: 如果已經存在乙個事務,支援當前事務。如果沒有乙個活動的事務,則丟擲異常。

4. propagation_requires_new: 總是開啟乙個新的事務。如果乙個事務已經存在,則將這個存在的事務掛起。

5. propagation_not_supported: 總是非事務地執行,並掛起任何存在的事務。

6. propagation_never: 總是非事務地執行,如果存在乙個活動事務,則丟擲異常

spring配置宣告式事務:

* 配置sessionfactory

* 配置事務管理器

* 事務的傳播特性

* 那些類那些方法使用事務

2、編寫業務邏輯方法

* 繼承hibernatedaosupport類,使用hibernatetemplate來持久化,hibernatetemplate是

hibernate session的輕量級封裝

* 預設情況下執行期異常才會回滾(包括繼承了runtimeexception子類),普通異常是不會滾的

* 編寫業務邏輯方法時,最好將異常一直向上丟擲,在表示層(struts)處理

* 關於事務邊界的設定,通常設定到業務層,不要新增到dao上

classpath:hibernate.cfg.xml

spring的事務傳播特性

事務的幾種傳播特性 1.propagation required 如果存在乙個事務,則支援當前事務。如果沒有事務則開啟 2.propagation supports 如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行 3.propagation mandatory 如果已經存在乙個事務,支...

SPRING的事務傳播特性

spring 支援 7 種事務傳播行為 propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙個事務中,加入到這個事務中。這是最常見的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation man...

SPRING的事務傳播特性

support a current transaction create a new one if none exists.支援乙個當前事務 如果不存在,建立乙個新的。this is typically the default setting of a transaction definition,...