Spring的事物管理之資料併發引發的問題

2021-08-11 17:53:01 字數 538 閱讀 8656

資料庫中相同的資料可能被多個事物同時訪問,如果沒有採取必要的措施,可能導致各種併發問題:

no1,髒讀

a事務讀取了b事務尚未提交的更改資料,並在這個資料的基礎上進行操作。如果b事務回滾,a事務讀取的資料以及其上的操作是不被承認的。

no2,不可重複讀

a事務在執行過程中,讀取了b事務已經提交的資料。具體來說,就是在a事務在執行過程中的乙個時間點讀取了乙個和b事務共同訪問的資料,在後乙個時間點又讀取了該資料,但是該資料已經被b事務修改並提交了,此時a事務會出現讀取資料不一致的問題。

no3,幻象讀

a事務讀取了b事務提交的新增資料。

為了避免不可重複讀和幻象讀,採用的策略是不同的,為了防止讀到更改的資料,只需要對操作的資料新增行級別的鎖,為了防止讀取到新增的資料,則需要新增表級鎖。

no4,第一類丟失更新

a事務撤銷時,把b事務的更新給抹去了。導致b事務的操作丟失。

no5,第二類丟失更新

a事務提交時,覆蓋了b事務已經提交的資料,造成b事務的操作丟失。

no4,第一類丟失更新

Spring事物管理

spring 事物的管理是申明式事物,通過在spring的xml檔案中配置3個元件,來管理整個專案的事物.最初事物的概念是在資料庫中提出的,為了保證資料的安全性.事物通俗的說就是原子的操作流程,符合acid,分別為原子性,一致性,隔離性,永久性.原子性是指事物中多張表的資料操作,要嘛全部成功,如其中...

spring事物管理

事務 1.什麼是事務?事務是我們要執行的一系列操作,要麼完全執行,要麼完全不執行。這樣可以確保所有的操作都成功,否者不會跟新資料庫。2.事務有兩種結果 所有的操作執行成功,提交事務。如果有乙個操作執行失敗,將發生回滾,撤銷之前到事務發生開始時執行的操作。3.spring的事務使用 有兩個類datas...

spring 事物管理

在spring配置檔案中配置 ref datasource 配置的是資料來源的id 中運用 新增事務註解 1.使用 propagation 指定事務的傳播行為,即當前的事務方法被另外乙個事務方法呼叫時 如何使用事務,預設取值為 required,即使用呼叫方法的事務 requires new 事務自...