您的位置:首页 > 其它

Hibernate4.x二级缓存详细配置步骤( EHCache)

2012-09-11 21:31 225 查看
Hibernate4.x : 二级缓存的详细配置: EHCache

Hibernate4.x中使用缓存的步骤为(EHCache);

1. 将相应的二级缓存组件jar包导入到classpath类路径下

2.在hibernate.cfg.xml文件中配置如下的信息:

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

<property name="hibernate.cache.use_query_cache">true</property>

<property name="cache.use_second_level_cache">true</property>

<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>

3. 指定哪些对象选要被缓存:这里既可以在hibernate.cfg.xml文件中配置,也可以在对应的hbm文件中配置

1) hibernate.cfg.xml文件中配置如下:

指定需要缓存的对象类型:这里可以在映射文件中配置,也可以在hibernate核心配置文件中进行配置

<class-cache class="com.hib.entity.Inf" usage="read-only" />

2) hbm文件中配置如下:

<cache usage="read-only"/> 在需要缓存的元素下添加<cache>元素,根据需求使用相应的缓存级别

4. 在src目录下编写一个ehcache.xml文件,配置一些基本的缓存信息:

一般配置信息如下:

<?xml version="1.0" encoding="utf-8"?>

<ehcache>

<diskStore path="D:/ehcache"/><!--如果缓存中的对象存储超过指定的缓存数量的对象存储的磁盘地址-->

<!--全部默认的配置

maxElementsInMemory在內存中最多存放多少个对象

eternal对象是不是永远不变的,一般都是false

timeToLiveSeconds如果这个对象超过了这个时间,就会从缓存中清除

-->

<defaultCache

maxElementsInMemory="500"

eternal="false"

timeToIdleSeconds="120"

timeToLiveSeconds="120"

overflowToDisk="true"

/>

<!-- 针对指定的对象使用的缓存配置

name表示的是缓存的类对象的全路径名 -->

<cache name="com.hibernate.Student"

maxElementsInMemory="500"

eternal="false"

timeToIdleSeconds="50"

timeToLiveSeconds="50"

overflowToDisk="true"

/>

</ehcache>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: