spring事物屬性與隔離級別
1、spring的傳播屬性
PROPAGATION_REQUIRED | 如果當前沒有事務,就新建一個事務,如果已經存在一個事務,加入到這個事務中。這是最常見的選擇。 |
PROPAGATION_SUPPORTS | 支援當前事務,如果當前沒有事務,就以非事務方式執行。 |
PROPAGATION_MANDATORY | 使用當前的事務,如果當前沒有事務,就丟擲異常。 |
PROPAGATION_REQUIRES_NEW | 新建事務,如果當前存在事務,把當前事務掛起。 |
PROPAGATION_NOT_SUPPORTED | 以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。 |
PROPAGATION_NEVER | 以非事務方式執行,如果當前存在事務,則丟擲異常。 |
PROPAGATION_NESTED | 如果當前存在事務,則在巢狀事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。 |
髒讀:讀取別人已經修改還沒提交的資料
不可重複讀:同一個事物多次查詢,返回不同的資料。因為另一個事物在2次查詢期間更新了資料
幻讀:在讀取幾行時,另一個事物插入一些記錄。隨後查詢,多出一些記錄。
spring事物有四個隔離級別
資料隔離級別
隔離級別 | 髒讀 | 不可重複讀 | 幻象讀 | 第一類丟失更新 | 第二類丟失更新 |
READ UNCOMMITED | 允許 | 允許 | 允許 | 不允許 | 允許 |
READ COMMITED | 不允許 | 允許 | 允許 | 不允許 | 允許 |
REPEATABLE READ | 不允許 | 不允許 | 允許 | 不允許 | 不允許 |
SERIALIZABLE | 不允許 | 不允許 | 不允許 | 不允許 | 不允許 |
相關文章
- 【進階之路】詳解資料庫事物與隔離級別資料庫
- 事務ACID特性與隔離級別
- 事務的隔離級別與MVCCMVC
- Mysql鎖與事務隔離級別MySql
- SqlServer事務詳解(事務隔離性和隔離級別詳解)SQLServer
- MySQL的隔離級別MySql
- 資料庫事務與隔離級別資料庫
- MySQL是如何實現事物隔離?MySql
- Spring的事務管理(一) Spring事務管理的實現,事務的屬性(隔離級別,傳播行為,只讀)Spring
- Mysql事務隔離級別與鎖機制MySql
- 資料庫隔離級別資料庫
- MySQL事務隔離級別MySql
- Mariadb之事務隔離級別
- 事務、特性、隔離級別
- MySQL 事務隔離級別MySql
- [Mysql]事務/隔離級別MySql
- PostgreSQL事務隔離級別SQL
- 還原面試現場-ACID與隔離級別面試
- MySQL事務的隔離級別MySql
- 事務四種隔離級別
- Postgresql 的預設隔離級別SQL
- MySQL 的隔離級別 自理解MySql
- 理解MySQL事務隔離級別MySql
- MySQL的事務隔離級別MySql
- 資料庫事務 ACID屬性、資料庫併發問題和四種隔離級別資料庫
- 資料庫事務與事務的隔離級別資料庫
- 詳解Mysql事務隔離級別與鎖機制MySql
- MySQL事務的隔離級別與併發問題MySql
- 淺析MySQL InnoDB的隔離級別MySql
- Mysql資料庫的隔離級別MySql資料庫
- MySQL事務隔離級別和MVCCMySqlMVC
- 事務的四種隔離級別
- Fescar鎖和隔離級別的理解
- 理解mysql的事務隔離級別MySql
- 事務系統的隔離級別
- 啥是 MySQL 事務隔離級別?MySql
- mysql如何修改事務隔離級別MySql
- MySQL之事務隔離級別和MVCCMySqlMVC
- mysql事務隔離級別和鎖MySql