Hibernate中的Session對象的一級緩存

1. 什麼是緩存?
* 其實就是一塊內存空間,將數據源(數據庫或者文件)中的數據存放到緩存中.再次獲取的時候 ,直接從緩存中獲取.可以提升程序的性能!

2. Hibernate框架提供了兩種緩存
* 一級緩存 -- 自帶的不可卸載的.一級緩存的生命週期與session一致.一級緩存稱爲session級別的緩存.
* 二級緩存 -- 默認沒有開啓,需要手動配置纔可以使用的.二級緩存可以在多個session中共享數據,二級緩存稱爲是sessionFactory級別的緩存.

3. Session對象的緩存概述
* Session接口中,有一系列的java的集合,這些java集合構成了Session級別的緩存(一級緩存).將對象存入到一級緩存中,session沒有結束生命週期,那麼對象在session中存放着
* 內存中包含Session實例 --> Session的緩存(一些集合) --> 集合中包含的是緩存對象!

4. 證明一級緩存的存在,編寫查詢的代碼即可證明
* 在同一個Session對象中兩次查詢,可以證明使用了緩存

5. Hibernate框架是如何做到數據發生變化時進行同步操作的呢?
* 使用get方法查詢User對象
* 然後設置User對象的一個屬性,注意:沒有做update操作。發現,數據庫中的記錄也改變了。
* 利用快照機制來完成的(SnapShot)
發佈了46 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章