hibernate 中提供了倆種級別的cache
1.一級快取 -->是session級別的,屬於事務級別的範圍,它由hibernate管理,一般情況下無需進行干涉.
2.二級快取-->是sessionfactory級別的,它是屬於程序範圍或群集範圍的快取。這一級別的快取可以進行配置和更改,並且可以動態載入和解除安裝。 hibernate還為查詢結果提供了乙個查詢快取,它依賴於第二級快取.
那到底什麼樣的資料適合放在二級快取裡面呢?
1.很少被修改的資料
2.不是很重要的資料,允許出現偶爾併發的資料
3.不會被併發訪問的資料
4.參考資料,指的是**用參考的常量資料,它的例項數目有限,它的例項會被許多其他類的例項引用,例項極 少或者從來不會被修改。
那不適合存放到第二級快取的資料有哪些?
1.經常被修改的資料
2.財務資料,絕對不允許出現併發
3.與其他應用共享的資料
二級快取需要配置那些東西?
1.匯入jar包(檔案在hibernate-release-5.2.10.final\lib\optional\ehcache)
2.在hibernate.cfg.xml檔案配置一下**
3.car.hbm.xml 關聯表的對映xml中配置 二級快取
然後textdemo測試 二級快取
執行結果:
很顯然 session1 進行查詢沒有呼叫查詢語句進行查詢而是呼叫二級快取裡面的資料取出資料.
hibernate二級快取
cacheconcurrencystrategy.none cacheconcurrencystrategy.read only 唯讀模式,在此模式下,如果對資料進行更新操作,會有異常 cacheconcurrencystrategy.read write 讀寫模式在更新快取的時候會把快取裡面的資料...
hibernate 二級快取
session快取 一級快取 sql查詢結果快取,由hibernate管理 sessionfactory內建快取,內建快取是hibernate自帶的,用於存放預定義的sql以及hbm.xml描述的元資料,不可解除安裝 sessionfactory外接快取 二級快取 由外部外掛程式提供,外接快取的資料...
Hibernate二級快取
hibernate的session在事務級別進行持久化資料的快取操作。當然,也有可能分別為每個類 或集合 配置集群 或jvm級別 sessionfactory級別 的快取。你甚至可以為之插入乙個集群的快取。注意,快取永遠不知道其他應用程式對持久化倉庫 資料庫 可能進行的修改 即使可以將快取資料設定為...