基于注解形式的hibernate二级缓存的使用(ehcache)

4 篇文章 0 订阅
2 篇文章 0 订阅

第三方插件为ehcache,spring+hibernate

基于注解形式;

我使用的是maven管理项目,需要添加的maven依赖:

  1. <dependency>    
  2.       <groupId>com.googlecode.ehcache-spring-annotations</groupId>    
  3.       <artifactId>ehcache-spring-annotations</artifactId>    
  4.       <version>1.1.2</version>    
  5.       <type>jar</type>    
  6.       <scope>compile</scope>    
  7.   </dependency>    

如果不使用依赖,直接导入包的话除了ehcache的jar包之外应该加上:common-logging,backport-util-concurrent这两个(我使用的是依赖,直接导入jar包方式没有尝试过,是看书上这么说的)

第一步:

  1. package com.easitech.domain;  
  2.   
  3. @Entity  
  4. @Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)  
  5. @Table(name="tb_permission"  
  6.     ,catalog="crebas"  
  7. )  
  8. public class Permission  extends BaseDomain {  
第二步:
  1. <bean id="sessionFactory"  
  2.             class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  3.             <property name="dataSource" ref="dataSource" />  
  4.             <property name="packagesToScan">  
  5.                 <list>  
  6.                     <value>com.easitech.domain</value>  
  7.                 </list>  
  8.             </property>  
  9.       
  10.             <property name="hibernateProperties">  
  11.                 <props>  
  12.                     <!-- 1.使用EHCache缓存实现方案 -->  
  13.                     <prop key="hibernate.cache.provider_class">  
  14.                         org.hibernate.cache.EhCacheProvider  
  15.                     </prop>  
  16.                       
  17.                     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  
  18.                     <!-- 显示sql语句 -->  
  19.                     <prop key="hibernate.show_sql">true</prop>  
  20.                 </props>  
  21.             </property>  
  22.               
  23.             <!-- 2.配置缓存策略 -->  
  24.             <property name="entityCacheStrategies">  
  25.                 <props>  
  26.                     <prop key="com.easitech.domain.Permission">nonstrict-read-write,fixedRegion</prop>  
  27.                 </props>  
  28.             </property>  
  29.         </bean>  
第三步:
在src下建立一个文件ehcache.xml;

<ehcache>
    <diskStore path="java.io.tmpdir"/>
    <defaultCache maxElementsInMemory="10000" eternal="false"
        overflowToDisk="false" timeToIdleSeconds="0" timeToLiveSeconds="0"
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
    <cache name="fixedRegion" maxElementsInMemory="100"
    eternal="true" overflowToDisk="false"/>
</ehcache>

这里注意timeToIdleSeconds中间一个是I一个是l,不一样的;一个是大写的i,一个是小写的L
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值