首页 > Web开发 > 详细

hibernate.cache.use_query_cache 认识误区

时间:2015-10-10 17:26:05      阅读:296      评论:0      收藏:0      [点我收藏+]

hibernate.cache.use_query_cache Hibernate的查询缓存,设置为true表示开启,同时也要设置 query.setCacheable(true);

开启查询缓存的方式

  1. hibernate.cache.use_query_cache 设置为true  ;query.setCacheable(true);

  2. hibernate.cache.use_query_cache 设置为true  ;query.setCacheable(true);在要缓存的实体前面加上@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

    这两种方式是有区别的,第一种会把查询到的数据的id缓存在内存中,下次查询的时候使用id去查询load,如果这个id对应的数据没有了就会报错。第二种是把查询的数据整个都缓存起来,下次查询的时候直接把数据返回,也不再做检查。

    以前一直以为没有在实体前面添加@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)是不会缓存的,知道后来项目遇到后台删除了数据,app获取数据的时候出现了异常(后台和app服务器是两个应用)。


hibernate.cache.use_query_cache 认识误区

原文:http://my.oschina.net/u/2398421/blog/515286

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!