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

十年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站定制,個人網(wǎng)站制作服務,為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設計流程、步驟,成功服務上千家企業(yè)。為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及定制高端網(wǎng)站建設服務,專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁制作,對成都混凝土攪拌站等多個領域,擁有多年的營銷推廣經(jīng)驗。
使用EhCache配置Hibernate二級緩存:
配置Hibernatee二級緩存準備:
1)把ehcache-1.2.3.jar加入到當前應用的classpath中。
2)在hibernate.cfg.xml文件中加入EhCache緩存插件的提供類。
name="hibernate.cache.provider_class"> - org.hibernate.cache.EhCacheProvider
3)挎貝ehcache.xml文件到類路徑(項目工程的src目錄下),這個文件在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元素后面對緩存中的Category對象采用讀寫型的并發(fā)訪問策略
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二級緩存
1.在spring的配置文件中,hibernate部分加入 xml 代碼 org.hibernate.cache.EhCacheProvider true
2.為HBM表設置cache策略 xml 代碼
3.在DAO中,調(diào)用find方法查詢之前,設置使用緩存 Java代碼 getHibernateTemplate().setCacheQueries(true);
補充: 如果不設置“查詢緩存”,那么Hibernate只會緩存使用load()方法獲得的單個持久化對象,如果想緩存使用findall()、list()、Iterator()、createCriteria()、createQuery()等方法獲得的數(shù)據(jù)結(jié)果集的話,就需要設置 hibernate.cache.use_query_cache true 才行。
【編輯推薦】
- Hibernate3.1簡單描述
- Hibernate save基礎簡介
- 淺析Hibernate 3二級緩存基礎
- Hibernate流行架構淺析
- Hibernate update淺談
本文標題:配置Hibernate二級緩存剖析
文章出自:http://m.5511xx.com/article/cogphoe.html


咨詢
建站咨詢
