事務隔離級別由低往高可分為以下幾類
上面介紹了4種事務隔離級別及髒讀、不可重複讀、幻讀與它們的聯絡,對應的關係表如下:
7種事務傳播機制
required
如果當前方法有事務則加入事務,沒有則建立乙個事務。
not_supported
不支援事務,如果當前有事務則掛起事務執行。
requireds_new
新建乙個事務並在這個事務中執行,如果當前存在事務就把當前事務掛起。新建的事務的提交與回滾一掛起事務沒有聯絡,不會影響掛起事務的操作。
mandatory
強制當前方法使用事務執行,如果當前沒有事務則丟擲異常。
never
當前方法不能存在事務,即非事務狀態執行,如果存在事務則丟擲異常。
supports
支援當前事務,如果當前沒事務也支援非事務狀態執行。
nested
如果當前存在事務,則在巢狀事務內執行。巢狀事務的提交與回滾與父事務沒有任務關係,反之,當父事務提交巢狀事務也一起提交,父事務回滾會也回滾巢狀事務的。
如果當前沒有事務,則新建乙個事務執行,這時候則與propagation_required場景一致。
事務隔離級別和傳播機制
事務隔離級別由低往高可分為以下幾類 read uncommitted 讀取未提交的資料。這是最不安全的一種級別,查詢語句在無鎖的情況下執行,並能讀取到別的未提交的資料,造成髒讀,如果未提交的那個 事務資料全部回滾了,而之前讀取了這個事務的資料即是髒資料,這種資料不一致性讀造成的危害是可想而知的。re...
Spring事務傳播機制和隔離級別
事務的傳播機制是指新增事務時的策略。傳播機制共有以下幾種 propagation mandatory 當前事務必須在乙個已有事務環境中執行,否則丟擲異常 propagation required propagation requires new propagation nested 這三種傳播機制不...
事務的隔離機制和傳播級別
隔離級別 1 isolocation default 資料庫預設級別 2 isolocation read uncommitted 允許讀取未提交的讀,可能導致髒讀,不可重複讀,幻讀 3 isolocation read committed 允許讀取已提交的讀,可能導致不可重複讀,幻讀 4 isol...