基于注解形式的hibernate二级缓存的使用(ehcache)
2012-10-10 10:11
701 查看
第三方插件为ehcache,spring+hibernate
基于注解形式;
我使用的是maven管理项目,需要添加的maven依赖:
如果不使用依赖,直接导入包的话除了ehcache的jar包之外应该加上:common-logging,backport-util-concurrent这两个(我使用的是依赖,直接导入jar包方式没有尝试过,是看书上这么说的)
第一步:
在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
基于注解形式;
我使用的是maven管理项目,需要添加的maven依赖:
<dependency> <groupId>com.googlecode.ehcache-spring-annotations</groupId> <artifactId>ehcache-spring-annotations</artifactId> <version>1.1.2</version> <type>jar</type> <scope>compile</scope> </dependency>
如果不使用依赖,直接导入包的话除了ehcache的jar包之外应该加上:common-logging,backport-util-concurrent这两个(我使用的是依赖,直接导入jar包方式没有尝试过,是看书上这么说的)
第一步:
package com.easitech.domain; @Entity @Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Table(name="tb_permission" ,catalog="crebas" ) public class Permission extends BaseDomain {第二步:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan"> <list> <value>com.easitech.domain</value> </list> </property> <property name="hibernateProperties"> <props> <!-- 1.使用EHCache缓存实现方案 --> <prop key="hibernate.cache.provider_class"> org.hibernate.cache.EhCacheProvider </prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <!-- 显示sql语句 --> <prop key="hibernate.show_sql">true</prop> </props> </property> <!-- 2.配置缓存策略 --> <property name="entityCacheStrategies"> <props> <prop key="com.easitech.domain.Permission">nonstrict-read-write,fixedRegion</prop> </props> </property> </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
相关文章推荐
- 基于注解形式的hibernate二级缓存的使用(ehcache)
- Hibernate二级缓存以及ehcache的搭建配置(注解方式)
- Spirng3基于注解(annotation)整合ehcache 使用页面缓存、对象缓存
- hibernate4.1.2使用ehcache2.4.3实现二级缓存时报错
- hibernate4.1.2使用ehcache2.4.3实现二级缓存时报错
- Hibernate 二级缓存的配置及使用_EhCache
- ehCache基于JPA的二级缓存的使用
- Hibernate二级缓存简述及基于Spring4,Hibernate5,Ehcache3的二级缓存配置
- Spring基于注解整合Hibernate EhCache实现对象缓存
- Spirng3基于注解(annotation)整合ehcache 使用页面缓存、对象缓存
- Ehcache——基于注解的缓存使用
- Spirng3基于注解(annotation)整合ehcache 使用页面缓存、对象缓存
- Hibernate使用Ehcache实心二级缓存
- hibernate--一级和二级缓存(使用Ehcache)以及查询缓存
- SSH进阶(7)——Hibernate使用EHCache进行二级缓存
- Spirng3基于注解(annotation)整合ehcache 使用页面缓存、对象缓存
- Hibernate使用二级缓存时,createSQLQuery需要注意的问题
- 缓存技术的使用(hibernate或jpa的二级缓存,以及页面jsp级别的缓存)
- Hibernate+ehcache二级缓存技术
- Hibernate二级缓存的注解(学习笔记)