当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

Hibernate+ehcache二级缓存技术[Java编程]

赞助商链接



  本文“Hibernate+ehcache二级缓存技术[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、首先设置EhCache,成立配置文件ehcache.xml,默许的位置在class-path,可以放到你的src目录下:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
  <diskStore path="java.io.tmpdir"/>
   <defaultCache
    maxElementsInMemory="10000" <!-- 缓存最大数目 -->
    eternal="false" <!-- 缓存能否长期 -->
    overflowToDisk="true" <!-- 能否保存到磁盘,当系统当机时-->
    timeToIdleSeconds="300" <!-- 当缓存闲置n秒后销毁 -->
    timeToLiveSeconds="180" <!-- 当缓存存活n秒后销毁-->
    diskPersistent="false"
    diskExpiryThreadIntervalSeconds= "120"/>
</ehcache>

2、在Hibernate配置文件中设置:

<!-- 设置Hibernate的缓存接口类,这个类在Hibernate包中 -->
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
  <!-- 能否利用查询缓存 -->
  <property name="hibernate.cache.use_query_cache">true</property>
   假如利用spring调用Hibernate的sessionFactory的话,这样设置:
   <!--HibernateSession工厂管理 -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
     <ref bean="datasource" />
    </property>
    <property name="hibernateProperties">
    <props>
     <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
     <prop key="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>
     <prop key="hibernate.show_sql">true</prop>
     <prop key="hibernate.cache.use_query_cache">true</prop>
     <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
    </props>
  </property>
  <property name="mappingDirectoryLocations">
   <list>
    <value>/WEB-INF/classes/cn/rmic/manager/hibernate/</value>
   </list>
  </property>
</bean>

阐明一下:假如不设置“查询缓存”,那么hibernate只会缓存利用load()办法得到的单个长期化对象,假如想缓存利用findall()、list()、Iterator()、createCriteria()、createQuery()等办法得到的数据后果集的话,就需求设置

hibernate.cache.use_query_cache true 才行

3、在Hbm文件中增添<cache usage="read-only"/>

4、假如需求“查询缓存”,还需求在利用Query或Criteria()时设置其setCacheable(true);属性


  以上是“Hibernate+ehcache二级缓存技术[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 在Hibernate里面动态切换SChema实现访谒差别的数据库的几种办法
  • Hibernate 3新增XML关系长期性介绍
  • Hibernate配置文件在单元测试中的操纵
  • 在Hibernate中动态切换Schema
  • hibernate annoation (八 关联映射)
  • hibernate annoation (九 cascading)
  • <b>hibernate annoation (十 映射查询)</b>
  • hibernate annoation(十一 缓存Ehcache 采纳annoation)
  • Hibernate:操作配置文件生成数据库
  • hibernate annoation (一 加载)
  • hibernate annoation (二 成立表)
  • <b>hibernate annoation (三 id生成器)</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .