第五天hibernate優化
1.關於快取的理解。
快取是介於應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。
2.hibernate的快取。
一級快取:針對的是session的快取,關於對session的處理方案:
clear() :completely clear the session.清空session,該清空操作只對於要儲存的、刪除的和修改的資料起作用,不涉及查詢的結果。
close() :end the session byreleasing the jdbc connection and cleaning up.釋放並清空jdbc連線。但是不一定非得關閉session。
flush(): force this session to flush.強制重新整理流的緩衝。flush必須在乙個操作單元結束之後且在提交事務和關閉連線之前被呼叫。例如插入一條資料。
二級快取:
二級快取也稱為程序級的快取或sessionfactory級的快取,二級快取可以被所有的session共享
二級快取的生命週期和sessionfactory的生命週期一致,sessionfactory可以管理二級快取。
二級快取的配置。
1. 將ehcache.xml檔案拷貝到src下,修改為以下內容:
配置**參考:
<?xml version="1.0"encoding="utf-8"?>
maxelementsinmemory="10000"
eternal="false"
timetoidleseconds="120"
timetoliveseconds="120"
overflowtodisk="true"
/>
eternal="false"
maxelementsinmemory="100"
timetoidleseconds="1200"
timetoliveseconds="1200"
overflowtodisk="false">
2.將快取產品的jar包加入到專案中。如採用的是ehcache的是這個二級快取。那麼將\hibernate-release-4.3.10.final\lib\optional\ehcache下面的所有jar包拷貝到專案中
注意
:如果此時的
slf4j
的jar
包提示版本過低(執行的時候),需要將
jre的版本公升級為
1.7以上的。
3.配置hibernate.cfg.xml檔案。
true
org.hibernate.cache.ehcache.ehcacheregionfactory
ehcache.xml
二級快取的清理問題:
1.如果需要清理二級快取。
hibernatesessionfactory.getsessionfactory().getcache().evictentityregion(cate.class);//清理所有二級快取中的所有的cate物件的資料
hibernatesessionfactory.getsessionfactory().getcache().evictentity(cate.class,2032);//清理所有二級快取中的主鍵為2032的cate物件的資料。
哪些方法所取的資料進入快取。
get()方法獲取的資料是進入到快取中(首先是從資料庫裡獲取資料,獲取資料之後,資料進入到快取中),get方法會從二級快取中讀取資料。
load()方式是直接從快取(首先從一級快取中,如果一級沒有,那麼就從二級查詢,如果二級沒有資料,那麼就從資料庫中查詢資料,當資料庫中沒有資料的時候丟擲異常)。
list()方法是不從二級快取中讀取資料的,也不從一級緩訪問資料。但是list得到的資料會進入快取。
iterate()方法雖然是還是會執行從表中取id的查詢,但是查詢的資料是從快取中得到的。如果快取沒有資料,才會從資料庫中查詢。
關於
hibernate
中的抓取策略
1)延遲載入。
在查詢資料的時候,那麼這個物件的集合屬性的資料並不會立馬從資料庫中查詢。比如我們在查詢cate分類的資料的時候,預設情況下,並不會查詢cate分類所對應的產品的資料。
在分類表的對映配置檔案中的set節點的配置。預設情況下,
lazy=」true」,延遲載入開啟。
lazy=「false」,延遲載入關閉。
Hibernate 基礎知識
hibernate的基本組成 實體類,實體類的對映檔案,hibernate的配置檔案 hibernate中的常用介面 讀取hibernate的配置檔案。概述 configuration 類負責管理hibernate 的配置資訊,即 載入hibernate配置檔案 hibernate.cfg.xml ...
Hibernate基礎知識
結構 pojo類 對映 xml檔案 註解 表 hibernate api 翻譯jdbc 操作db 1,核心配置檔案 hibernate.cfg.xml 一般不會更改該檔案的名字 2,jar檔案 手動把需要的配置檔案和jar包拷貝到工程中。通常建立個hbn lib的library 四 hibernat...
Hibernate基礎知識積累
屬性介紹 1,create 表示啟動的時候先drop,再create create drop 也表示建立,只不過再系統關閉前執行一下drop update 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新 validate 啟動時驗證現有schema與你配置的hiber...