java学习

java学习

 

hibernate的session缓存和二级缓存和查询缓存

1、session有缓存功能,但是当session关闭后,缓存消失。
2.二级缓存是sessionfactory级别的,当hibernate容器启动后,
二级缓存就存在了,当hibernate关闭后,二级缓存消失。
hibernate本身对于二级缓存是关闭的,而且没有实现二级缓存的机制。
在hibernate.cfg.xml文件中配置:
<!-- 启用二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.use_query_cache">true</property>
<!-- 配置缓存提供商 -->
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
在实体类中配置
<class-cache class="com.nacosoft.pda.user.PdaUser" usage="read-write" />
如果想开启集合的二级缓存,需要开启针对集合类的二级缓存。
如果二级缓存的数据量大,可以在src目录下新建ehcache.xml文件,把数据缓存在磁盘上。
3.查询缓存:在二级缓存的基础上,在代码里写:
Query query = session.createQuery("from Person");
query.setCacheable(true);
List list = query.list();
就可以使用查询缓存了

posted on 2017-08-15 11:51 杨军威 阅读(160) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜