1. 程式人生 > >實訓41 2018.6.2

實訓41 2018.6.2

過程 人員 什麽是數據庫 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