1. 程式人生 > >搭建Hibernate二級快取EHcache的環境

搭建Hibernate二級快取EHcache的環境

常見的快取元件

這裡寫圖片描述

在預設情況下,hibernate會使用EHCache作為二級快取元件。但是,可以通過設定hibernate.cache.provider_class屬性,指定其他的快取策略,該快取策略必須實現org.hibernate.cache.CacheProvider介面。
通過實現org.hibernate.cache.CacheProvider介面可以提供對不同二級快取元件的支援,此介面充當快取外掛與Hibernate之間的介面卡。

EHcache環境的配置

在Hibernate基本環境基礎上繼續配置,Hibernate基本環境的搭建請參考之前的博文MyEclipse中搭建hibernate環境

一、新增jar

EHcache屬於第三方外掛,使用時需要新增相應的jar包,而這個jar包就在我們下載的Hibernate開發工具包之中,我下載的是hibernate-release-5.0.1.Final,如何下載開發包和原始碼請參考如何從官網下載hibernate原始碼與jar包教程,對應的EHcache所需jar在hibernate-release-5.0.1.Final\lib\optional\ehcache路徑下
這裡寫圖片描述把它們新增至工程的lib目錄下,並Build Path

二、在主配置檔案中開啟二級快取

Hibernate預設情況下二級快取是關閉的,開啟需要在主配置檔案中新增
<property name="hibernate.cache.use_second_level_cache">true</property>

三、註冊二級快取區域工廠

在主配置檔案中配置

<property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property>

這個配置的值不是固定的,取決於你的Hibernate版本
這裡寫圖片描述

它的值就是這個類的全名(沒有class)

四、新增ehcache.xml檔案

這個檔案在剛剛新增的ehcache-core-2.4.3.jar中,獲取方法是:解壓這個jar檔案

這裡寫圖片描述
拷貝ehcache-failsafe.xml檔案並把檔名修改為ehcache.xml至src資料夾下

這裡寫圖片描述

五、配置需要快取的class

方法一:在對映檔案中(xxx.hbm.xml),class標籤下新增<cache usage="read-only"/>
方法二:在主配置檔案(hibernate.cfg.xml)中Mapping標籤下面新增<class-cache usage="read-only" class="com.hibernate.beans.Student"/>

六、配置需要快取的set集合

方法一:在對映檔案中(xxx.hbm.xml),set標籤裡key標籤前面新增<cache usage="read-only"/>
方法二:在主配置檔案(hibernate.cfg.xml)中Mapping標籤下面新增<collection-cache usage="read-only" collection="com.hibernate.beans.Student.courses"/>