本文主要是介绍Hibernate4.x二级缓存详细配置步骤( EHCache),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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>
这篇关于Hibernate4.x二级缓存详细配置步骤( EHCache)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!