Spring事務的隔離級別和傳播特性

2021-08-03 10:04:19 字數 874 閱讀 1958

五個事務隔級別分別為:lsolation的屬性值

在乙個典型的應用程式中,多個事務同時執行,經常會為了完成他們的工作而操作同乙個資料。併發雖然是必需的,但是會導致一下問題:

1,default   預設的事務隔離級別

2,read_uncommitted     讀未提交,乙個事務可以操作另外乙個未提交的事務,不能避免髒讀,不可重複讀,幻讀,隔離級別最低,併發性 能最高

3,read_committed  讀已提交,乙個事務不可以操作另外乙個未提交的事務, 能防止髒讀,不能避免不可重複讀,幻讀。

4,repeatable_read  保證了乙個事務不會修改已經由另乙個事務讀取但未提交(回滾)的資料。避免了「髒讀取」和「不可重複讀取」的情況,但是帶來了更多的效能損失。 

5,serializable   隔離級別最高,消耗資源最低,代價最高,能夠防止髒讀, 不可重複讀,幻讀。

七個事務的傳播行為

1,propagation_required    如果乙個事務存在,則支援當前事務,如果不存在,則建立新的事務

2,propagation_supports   如果乙個事務存在,則支援當前事務,如果不存在,則非事務的方法執行

3,propagation_mendatory    如果乙個事務存在,則支援當前事務,如果存在,則丟擲異常

4,propagation_requires_new   總是要開啟乙個新的事務,如果事務存在,將該事務掛起

5,propagation_not_supported    總是非事務方法執行,並掛起所有的事務

6,propagation_never    總是非事務方法執行,如果事務存在則丟擲異常

7,propagation_nested  某乙個事務存在,則執行在乙個巢狀的事務中

spring事務隔離級別

在spring中定義了5中不同的事務隔離級別 1.isolation default 一般情況下使用這種配置既可 這是乙個platfromtransactionmanager預設的隔離級別,使用資料庫預設的事務隔離級別。2.isolation read uncommitted 4 p l.i f k...

Spring 事務隔離級別

資料庫事務的隔離級別有4種,由低到高分為為read uncomitted,read comitted,repeatable read serializable,而且,在事務的併發操作中可能會出現髒讀,不可重複度,虛讀 幻讀 髒讀 read uncomitted 什麼都防不住 乙個事務讀到另外乙個事務...

Spring事務隔離級別

事務操作可能出現的問題 更新丟失 lost update 當系統允許兩個事務同時更新同一資料時,發生更新丟失。髒讀 dirty read 當乙個事務讀取另乙個事務尚未提交的修改時,產生髒讀。非重複讀 nonrepeatable read 第一次讀 得到乙個結果 再讀,換了乙個結果 幻像 phanto...