Hibernate二级缓存插件EHCache的配置
来源:互联网 发布:mac 照片 相簿 编辑:程序博客网 时间:2024/05/19 13:28
今天学了一个二级缓存的配置,记录下来,以后有用的时候在来查!
1、EHCache插件的配置,配置其自带的配置文件ehcache.xml到src目录下,并且编写ehcache.xml文件
<ehcache>
<!-- 缓存存放路径,这里是默认的,也可以自己定义 -->
<diskStore path="java.io.tmpdir"/>
<!--
maxElementsInMemory:允许缓存可以存储的总记录数
eternal:当前缓存是否永远不过期
timeToIdleSeconds:当前缓存最大闲置时间,超过该时间则销毁缓存
timeToLiveSeconds:设置缓存超时时间,当缓存创建达到该时间就知道销毁
overflowToDisk:当前缓存中的数据达到最大值时,是否把缓存数据写入到本地磁盘
-->
<!--
这是默认缓存,也可以用<cache name="sampleCache1"/>
自定义缓存
-->
<defaultCache
maxElementsInMemory="1"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
/>
</ehcache>
还需要添加两个相应的包
commons-logging-1.0.4.jar、ehcache-1.2.3.jar
2、在Hibernate配置文件中开启ehcache二级缓存管理
<!-- 打开二级缓存 -->
<property name="cache.use_second_level_cache">true</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
配置测试使用的POJO类
注意:配置的时候一定要到原文件中copy,或者把前配置好的信息copy过来,否则很严重,错误是很难找的
3、在实体类中开启缓存
在<class></class>标签中,在<id/>标签上面加
<cache usage="read-write"/>这个标签
4、测试方法
/**
* 配置完二级缓存后,读取数据库数据,只要不保存就行
* @throws Exception
*/
@Test
public void testCache() throws Exception {
Session session = HibernateUtils.getSession();
Transaction tx = session.beginTransaction();
Login login = (Login) session.get(Login.class, 1);
tx.commit();
HibernateUtils.closeSession();
}
这里用的是Junit测试框架,需要导入相应的jar包
测试不报错,基本上都OK。
5、查询缓存
在Hibernate配置文件中配置
<!-- 查询缓存,有人也说三级缓存,看到不要奇怪 -->
<property name="hibernate.cache.use_query_cache">true</property>
/**
* 在程序中手动设置查询缓存
*/
query.setCacheable(true);
- Hibernate二级缓存插件EHCache的配置
- Hibernate+ehcache二级缓存配置
- Hibernate ehcache配置二级缓存
- Hibernate配置Ehcache二级缓存
- EhCache配置Hibernate二级缓存
- Hibernate+EhCache配置二级缓存
- Hibernate ehcache配置二级缓存
- Hibernate+EhCache配置二级缓存
- Hibernate+EHCache配置二级缓存
- Hibernate二级缓存以及ehcache的搭建配置
- Hibernate二级缓存以及ehcache的搭建配置
- EHCache(hibernate二级缓存插件)
- hibernate二级缓存 Ehcache配置详解
- hibernate二级缓存 Ehcache配置详解
- Hibernate EhCache 二级缓存配置.pdf
- Hibernate 使用ehcache配置二级缓存
- Hibernate的二级缓存技术 EhCache
- maven工程中hibernate的二级缓存ehcache的配置
- 从Long.ValueOf("String")与Long.parseLong("String")看JAVA包装类的封箱与拆箱
- u-boot-2014.10移植第12天----深入分析代码(七)
- 感想
- 移动web前端小结
- requireJS中使用setTimeout和setInterval遇到的问题和解决方式
- Hibernate二级缓存插件EHCache的配置
- JS中toFixed()方法
- 快速排序
- ViewPager中切换界面Fragment被销毁解析
- 大数据-多路归并-败者树-文件流
- VC6.0利用CreateProcess创建子进程,MFC调用Win32生成的.exe文件为例
- POJ_2785_4 values whose sum is 0_折半枚举
- php 破解外链接
- MyEclipse下Maven的安装配置