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"/>
配置完成可根据项目实际情况进行测试