1. 程式人生 > >HIbernate的事務處理和二級快取

HIbernate的事務處理和二級快取

一.事務概述

問題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 級別·