使用 Hibernate 二级缓存的步骤
生活随笔
收集整理的這篇文章主要介紹了
使用 Hibernate 二级缓存的步骤
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 使用 Hibernate 二級(jí)緩存的步驟:
1). 加入二級(jí)緩存插件的 jar 包及配置文件:
I. 復(fù)制 \hibernate-release-4.2.4.Final\lib\optional\ehcache\*.jar 到當(dāng)前 Hibrenate 應(yīng)用的類路徑下.
II. 復(fù)制 hibernate-release-4.2.4.Final\project\etc\ehcachexml 到當(dāng)前 WEB 應(yīng)用的類路徑下
2). 配置 hibernate.cfg.xml?
I. ? 配置啟用 hibernate 的二級(jí)緩存
<property name="cache.use_second_level_cache">true</property>
II. ?配置hibernate二級(jí)緩存使用的產(chǎn)品
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
III. 配置對(duì)哪些類使用 hibernate 的二級(jí)緩存
<class-cache usage="read-write" class="com.atguigu.hibernate.entities.Employee"/>
實(shí)際上也可以在 .hbm.xml 文件中配置對(duì)哪些類使用二級(jí)緩存, 及二級(jí)緩存的策略是什么.?
2). 集合級(jí)別的二級(jí)緩存的配置
I. 配置對(duì)集合使用二級(jí)緩存
<collection-cache usage="read-write" collection="com.atguigu.hibernate.entities.Department.emps"/>
也可以在 .hbm.xml 文件中進(jìn)行配置
<set name="emps" table="GG_EMPLOYEE" inverse="true" lazy="true">
<cache usage="read-write"/>
? ? <key>
? ? ? ? <column name="DEPT_ID" />
? ? </key>
? ? <one-to-many class="com.atguigu.hibernate.entities.Employee" />
</set>
II. 注意: 還需要配置集合中的元素對(duì)應(yīng)的持久化類也使用二級(jí)緩存! 否則將會(huì)多出 n 條 SQL 語(yǔ)句.?
3). ehcache 的 配置文件: ehcache.xml
4). ?查詢緩存: 默認(rèn)情況下, 設(shè)置的緩存對(duì) HQL 及 QBC 查詢時(shí)無(wú)效的, 但可以通過(guò)以下方式使其是有效的
I. ?在 hibernate 配置文件中聲明開(kāi)啟查詢緩存
<property name="cache.use_query_cache">true</property>
II. 調(diào)用 Query 或 Criteria 的 setCacheable(true) 方法
III. 查詢緩存依賴于二級(jí)緩存
1). 加入二級(jí)緩存插件的 jar 包及配置文件:
I. 復(fù)制 \hibernate-release-4.2.4.Final\lib\optional\ehcache\*.jar 到當(dāng)前 Hibrenate 應(yīng)用的類路徑下.
II. 復(fù)制 hibernate-release-4.2.4.Final\project\etc\ehcachexml 到當(dāng)前 WEB 應(yīng)用的類路徑下
2). 配置 hibernate.cfg.xml?
I. ? 配置啟用 hibernate 的二級(jí)緩存
<property name="cache.use_second_level_cache">true</property>
II. ?配置hibernate二級(jí)緩存使用的產(chǎn)品
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
III. 配置對(duì)哪些類使用 hibernate 的二級(jí)緩存
<class-cache usage="read-write" class="com.atguigu.hibernate.entities.Employee"/>
實(shí)際上也可以在 .hbm.xml 文件中配置對(duì)哪些類使用二級(jí)緩存, 及二級(jí)緩存的策略是什么.?
2). 集合級(jí)別的二級(jí)緩存的配置
I. 配置對(duì)集合使用二級(jí)緩存
<collection-cache usage="read-write" collection="com.atguigu.hibernate.entities.Department.emps"/>
也可以在 .hbm.xml 文件中進(jìn)行配置
<set name="emps" table="GG_EMPLOYEE" inverse="true" lazy="true">
<cache usage="read-write"/>
? ? <key>
? ? ? ? <column name="DEPT_ID" />
? ? </key>
? ? <one-to-many class="com.atguigu.hibernate.entities.Employee" />
</set>
II. 注意: 還需要配置集合中的元素對(duì)應(yīng)的持久化類也使用二級(jí)緩存! 否則將會(huì)多出 n 條 SQL 語(yǔ)句.?
3). ehcache 的 配置文件: ehcache.xml
4). ?查詢緩存: 默認(rèn)情況下, 設(shè)置的緩存對(duì) HQL 及 QBC 查詢時(shí)無(wú)效的, 但可以通過(guò)以下方式使其是有效的
I. ?在 hibernate 配置文件中聲明開(kāi)啟查詢緩存
<property name="cache.use_query_cache">true</property>
II. 調(diào)用 Query 或 Criteria 的 setCacheable(true) 方法
III. 查詢緩存依賴于二級(jí)緩存
總結(jié)
以上是生活随笔為你收集整理的使用 Hibernate 二级缓存的步骤的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机没有音频驱动程序,电脑没有声音怎么
- 下一篇: Hibernate一级缓存和二级缓存详解