Hibernate 集成 Ehcache 开启二级缓存

一、将 Ehcache.xml 放到 classpath 下

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <!--磁盘存储:用来指定缓存在磁盘上的存储目录。
    可以使用JavaVM环境变量(user.home, user.dir, java.io.tmpdir)-->
    <diskStore path="d:/ehcache/"></diskStore>
    
    <!-- 默认缓存配置 -->
    <defaultCache
        maxElementsInMemory="10000"
        eternal="true"
        timeToIdleSeconds="120"
        timeToLiveSeconds="12000"
        overflowToDisk="true"
    />
    
    <!-- cache:为指定名称的缓存 -->
    <cache 
        name="CorpInfo" 
        maxElementsInMemory="10000" 
        eternal="false"
        timeToIdleSeconds="10000" 
        timeToLiveSeconds="10000" 
        overflowToDisk="true" 
    />

</ehcache>

二、整合配置

  在 hibernate 数据库连接配置文件中新增如下配置

<!-- 开启查询缓存 -->
<prop key="hibernate.cache.use_query_cache">true</prop>
<!-- 开启二级缓存 -->
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<!--设置二级缓存的Provider类 -->
<prop key="hiCbernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<!--设置缓存的配置文件路径 -->
<prop key="hibernate.cache.provider_configuration_file_resource_path">classpath:ehcache.xml</prop>
<!-- Hibernate将收集有助于性能调节的统计数据 -->
<prop key="hibernate.generate_statistics">true</prop>

三、在需要缓存对象的映射文件中添加参数

<cache usage="read-write" region="cn.xxx.xxx.model.CorpInfo"/>

配置完成可根据项目实际情况进行测试

posted @ 2017-02-15 13:26  MIC2016  阅读(405)  评论(0编辑  收藏  举报