基本的六種事務傳播:
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,...