事務的傳播行為,有以下六種:
1. required(或者已處於事務,或者新建乙個事務)
2. mandatory(要求在已存在事務中執行,否則丟擲例外)
3. never(絕對不能在事務範圍內執行,否則丟擲例外)
4. supports(可在事務範圍中執行,也可不在事務範圍中執行,不硬性要求)
5. not_supported(不需要事務,如果在事務範圍內被呼叫,則原有事務被掛起,直到該方法呼叫結束,事務才會恢復執行)
6. nested(如果乙個活動的事務存在,則執行乙個巢狀的事務中,如果沒有活動事務,則按required屬性執行.它使用了乙個單獨的事務,這個事務多個可以回滾的儲存點。內部事務的回滾不會對外部事務造成影響)
事務的隔離級別:
1. read uncommited(讀未提交資料)會出現髒讀,不可重複讀,幻讀
2. read commited(讀已提交資料)會出現不可重複讀和幻讀
3. repeateable read(可重複讀)會出現幻讀
4. serializable(序列化)
髒讀:乙個事務讀取到另乙個事務未提交的更新資料。如a,b事務同時進行中,b事務對資料有未提交的更改,這時a如果恰好也操作同樣資料就會讀到未提交的資料,當b最終未對資料更改提交的話,a的操作就是錯的資料。
不可重複讀:在同乙個事務中,多次讀取同一資料返回的結果有所不同。a事務讀取二次讀取資料,在二次讀取間隔時b事務對該資料進行了修改,這時得到資料就和第一次不同了。但人們在日常操作時,往往需要兩次讀取的資料是一樣的,可以通過類似快照這種技術來實現。
幻讀:乙個事務讀取到另乙個事務已提交的insert資料。
Spring事務管理
spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...
spring事務管理
一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...
spring 事務管理
和資料庫打交道的碼農都知道事務,事務有4大特徵,分別是原子性,一致性,隔離性,永續性。而spring 對事物提供了良好的支援,和api,通過簡單的配置,則可以減低程式設計師重複的操作。1.原子性 原子性指的是乙個事務內的所有操作要麼全部應用到資料庫,要麼取消對資料庫的操作。2.一致性 一致性和原子性...