Hibernate框架基礎知識第五天

2021-07-15 04:27:37 字數 3457 閱讀 9601

第五天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...