新聞中心
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹配置Hibernate二級(jí)緩存,包括介紹在Spring托管的Hibernate二級(jí)緩存等方面。

十年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站定制,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁(yè)制作,對(duì)成都混凝土攪拌站等多個(gè)領(lǐng)域,擁有多年的營(yíng)銷推廣經(jīng)驗(yàn)。
使用EhCache配置Hibernate二級(jí)緩存:
配置Hibernatee二級(jí)緩存準(zhǔn)備:
1)把ehcache-1.2.3.jar加入到當(dāng)前應(yīng)用的classpath中。
2)在hibernate.cfg.xml文件中加入EhCache緩存插件的提供類。
name="hibernate.cache.provider_class"> - org.hibernate.cache.EhCacheProvider
3)挎貝ehcache.xml文件到類路徑(項(xiàng)目工程的src目錄下),這個(gè)文件在Hibernate安裝目錄的etc下。
- version="1.0" encoding="utf-8"?>
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name="org.qiujy.domain.cachedemo.Category" table="categories"> - //配置緩存,必須緊跟在class元素后面對(duì)緩存中的Category對(duì)象采用讀寫型的并發(fā)訪問(wèn)策略
usage="read-write"/> name="id" type="java.lang.Long"> name="id" /> class="native" /> name="version" column="version" type="java.lang.Long" /> name="name" type="java.lang.String"> name="name" length="32" not-null="true"/> name="description" type="java.lang.String"> name="description" length="255"/> name="products" table="products" cascade="all" inverse="true"> usage="read-write"/> column="categoryId" not-null="true"/> class="org.qiujy.domain.cachedemo.Product"/>
Product.hbm.xml
- version="1.0" encoding="utf-8"?>
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name="org.qiujy.domain.cachedemo.Product" table="products"> usage="read-write"/> name="id" type="java.lang.Long"> name="id" /> class="native" /> name="version" column="version" type="java.lang.Long" /> name="name" type="java.lang.String"> name="name" length="32" not-null="true"/> name="description" type="java.lang.String"> name="description" length="255"/> name="unitCost" type="java.lang.Double"> name="unitCost" /> name="pubTime" type="java.util.Date"> name="pubTime" not-null="true" /> name="category" - column="categoryId"
- class="org.qiujy.domain.cachedemo.Category"
- cascade="save-update"
- not-null="true">
編輯ehcache.xml文件:
path="c:\\ehcache\"/> - maxElementsInMemory="10000"
- eternal="false"
- timeToIdleSeconds="120"
- timeToLiveSeconds="120"
- overflowToDisk="true"
- />
name="org.qiujy.domain.cachedemo.Category" - maxElementsInMemory="100"
- eternal="true"
- timeToIdleSeconds="0"
- timeToLiveSeconds="0"
- overflowToDisk="false"
- />
name="org.qiujy.domain.cachedemo.Category.products" - maxElementsInMemory="500"
- eternal="false"
- timeToIdleSeconds="300"
- timeToLiveSeconds="600"
- overflowToDisk="true"
- />
name="org.qiujy.domain.cachedemo.Product" - maxElementsInMemory="500"
- eternal="false"
- timeToIdleSeconds="300"
- timeToLiveSeconds="600"
- overflowToDisk="true"
- />
在Spring托管的Hibernate二級(jí)緩存
1.在spring的配置文件中,hibernate部分加入 xml 代碼 org.hibernate.cache.EhCacheProvider true
2.為HBM表設(shè)置cache策略 xml 代碼
3.在DAO中,調(diào)用find方法查詢之前,設(shè)置使用緩存 Java代碼 getHibernateTemplate().setCacheQueries(true);
補(bǔ)充: 如果不設(shè)置“查詢緩存”,那么Hibernate只會(huì)緩存使用load()方法獲得的單個(gè)持久化對(duì)象,如果想緩存使用findall()、list()、Iterator()、createCriteria()、createQuery()等方法獲得的數(shù)據(jù)結(jié)果集的話,就需要設(shè)置 hibernate.cache.use_query_cache true 才行。
【編輯推薦】
- Hibernate3.1簡(jiǎn)單描述
- Hibernate save基礎(chǔ)簡(jiǎn)介
- 淺析Hibernate 3二級(jí)緩存基礎(chǔ)
- Hibernate流行架構(gòu)淺析
- Hibernate update淺談
網(wǎng)頁(yè)標(biāo)題:配置Hibernate二級(jí)緩存剖析
URL鏈接:http://www.dlmjj.cn/article/cogphoe.html


咨詢
建站咨詢
