spring事務管理總結

事務的特性:ACID數據庫

Atomic:原子性事務

Consistency:一致性it

Isolation:隔離性io

Durability:持久性數據

-------------------------------------------------------查詢

幾個相關概念:異常

髒讀:一個事務讀到另外一個事務未提交的數據。底層

幻讀:一個事務兩次讀取的數據個數不一樣(另外一個事務添加了新的數據)。ab

不可重複讀:一個事務兩次讀取的數據內容不一樣(另外一個事務修改了數據)。

--------------------------------------------------------

事務的隔離級別

1. DEFAULT:默認隔離級別,使用底層數據庫的默認隔離級別

2.READ_UNCOMMITTED:讀未提交,讀到另外事務未提交的數據,若是別的事務出現回滾,則此事務會讀到無效的數據,它會致使髒讀、不可重複讀、幻讀。

3.READ_COMMITTED:讀已提交,能夠避免髒讀,可是沒法避免不可重複讀和幻讀。

4.REPEATABLE_READ:可重複讀,此級別禁止一個事務去讀一個包含未提交的修改的行,而且禁止一個事務讀一行,另外一個事務修改此行。能夠避免髒讀和不可重複讀,可是不可避免幻讀。

5.SERIALIZABLE:此級別包含REPEATABLE_READ中禁止的內容,而且禁止一個事務讀到知足where條件的數據後,另外一個事務添加的數據知足第一個事務的查詢條件。因此此級別能夠避免髒讀、幻讀和不可重複讀。

-------------------------------------------------------

事務的傳播行爲:

1.REQUIRED:支持當前事務,若是當前不存在事務則新建事務。

2.SUPPORTS:支持當前事務,若是當前不存在事務則以無事務的方式執行。

3.MANDATORY:支持當前事務,若是當前不存在事務則拋出異常。

4.REQUIRES_NEW:建立一個新的事務,若是當前存在事務則掛起當前事務。

5.NOT_SUPPORTED:以非事務的方式執行,若是當前存在事務則掛起當前事務。

6.NEVER:以非事務的方式執行,若是當前存在事務則拋出異常。

7.NESTED:若是當前存在事務則在一個嵌套的事務中執行。

相關文章
相關標籤/搜索