實訓41 2018.6.2
阿新 • • 發佈:2018-06-02
過程 人員 什麽是數據庫 AS con 控制 TE 管理 html
hibernate中的事務:
事務:
事務特性:(ACID)
a 原子性
c 一致性
i 隔離性
d 持久性
什麽是數據庫ACID:
http://www.jdon.com/concurrent/acid-database.html
事務並發問題:
1.臟讀
2.不可重復度
3.幻|虛讀
事務的隔離級別
讀未提交- 123
讀已提交 - 23
可重復讀(mysql默認級別)-3
串行化 - 沒有問題
如何在hibernate中指定數據庫的隔離級別
在項目中如何管理事務
業務開始之前打開事務,業務執行之後提交事務. 執行過程中出現異常.回滾事務.
在dao層操作數據庫需要用到session對象.在service控制事務也是使用session對象完成. 我們要確保dao層和service層使用的使用同一個session對象
在hibernate中,確保使用同一個session的問題,hibernate已經幫我們解決了. 我們開發人員只需要調用sf.getCurrentSession()方法即可獲得與當前線程綁定的session對象
註意1: 調用getCurrentSession方法必須配合主配置中的一段配置
註意2:通過getCurrentSession方法獲得的session對象.當事務提交時,session會自動關閉.不要手動調用close關閉.
實訓41 2018.6.2