HIbernate的事務處理和二級快取
阿新 • • 發佈:2019-01-04
一.事務概述
問題1:什麼是事務?
事務就是一件事情,這個事情由多個單元組成,這些單元執行時要麼都成功,要麼都不成功.
問題2:事務特性? (ACID)
- 1.原子性
- 2.一致
- 3.隔離性
- 4,永續性
問題3:關於不考慮事務的隔離性,會產生的問題?
- 1.髒讀----讀取到另一個事務未提交的資料
- 2.不可重複讀---兩次取的資料不一致(update)
- 3.虛讀---兩次讀取的資料不一致(insert)
- 4,更新丟失---後提交的事務將前面事務提交的資料覆蓋了。
問題4:關於 髒讀 不可重複讀 虛讀 解決?
設定事務的隔離級別:
- 1.read uncommitted----------什麼也解決不了
- 2.read committed-------------髒讀不可解決不可重複讀
- 3.REPEATABLE READ-----髒讀,不可重複讀,不能解決虛讀
- 4.SERIALIZABLE------------什麼都可以解決
在開發中一般使用 read_committed repeatable_read
mysgl預設隔離級別是 repeatable_read
orache預設隔離級別是 read_committed
檢視隔離級別 select @@tx_isolation;
修改隔離級別 set session transaction isolation level 級別·