博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate <查询缓存>
阅读量:6229 次
发布时间:2019-06-21

本文共 1119 字,大约阅读时间需要 3 分钟。

查询缓存:

  定义:查询缓存它是基于二级缓存的,可以保存普通属性查询的结果,查询对象实体时,他会保存id作为键,查询结果作为值,下个对象访问时,可以直接查到

      查询缓存查询实体对象时,显著的特点是,会执行多条查询id查询语句

  生命周期:当关联的表发生修改,查询缓存的生命周期结束

  查询缓存的配置和使用:

    1.修改hibernate.cfg   

1 
2
false

    2.关联实体类跟二级缓存配置一样的

    3.在程序中启用:

      query.setCacheable(true);

  开启查询缓存,关闭二级查询的情况下:

1 public void seleCacheTest(){ 2         try { 3             session=HibernateUtil.currentSession(); 4             session.beginTransaction(); 5             List grade=session.createQuery("select g from Grade g") 6                                 .setCacheable(true) 7                                 .list(); 8             for(int i=0;i

 

    总结:

      itetator不支持查询缓存

      list 开启查询缓存时,关闭二级缓存:

         在不同session中:第二次查询时,会发出n条查询id

         同一session中时,由于一级缓存的作用:所以无论有没有开启查询缓存都只有一条查询语句  

      list开启查询缓存时,开启二级缓存时:

         只执行一条查询语句,因为二级缓存生效了

 

    在缓存知识点中需要注意的:

      缓存不能随便用,尽量不用!

      在使用缓存时,还需要考虑到的问题!

      各级缓存的特点:

        一级缓存,save,get,load,query时都会产生缓存,这是无法禁止的

        二级缓存,二级缓存跨session操作,性能比较好,但是不能查询普通属性

        查询缓存,以键值对方式存放缓存,必须在程序中创建

        

转载于:https://www.cnblogs.com/gcs1995/p/4155720.html

你可能感兴趣的文章
《初级会计电算化实用教程(金蝶ERP—K/3版)》一1.2 会计电算化发展概况
查看>>
《Cisco VoIP(CVOICE)学习指南(第三版)》一第1章 介绍VoIP网络
查看>>
Docker 的未来
查看>>
一封普通美国人的来信:马云你是中美小企业之间最好的“导游”
查看>>
《数据结构与抽象:Java语言描述(原书第4版)》一2.1.7 删除项的方法
查看>>
《3D打印:正在到来的工业革命》一一1.4 先行者们在做什么
查看>>
TimeTraveler. - 朝花夕拾,拾了又拾
查看>>
spring之Bean的生命周期
查看>>
如何打造支撑百万用户的分布式代码托管平台
查看>>
《机器人操作系统ROS原理与应用》——第1章 智能机器人及其发展概述
查看>>
《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第2课2.5节对象的排列
查看>>
Android 数据库框架ormlite
查看>>
零基础学习贴:如何收取短信回复消息
查看>>
网鱼网咖-利用数加快速搭建大数据平台,极致洞察,为客户带来从所未有的体验。...
查看>>
保护App重要数据,防止Cycript/Runtime修改
查看>>
iperf 测试网络性能指标
查看>>
windows下安装mysql压缩包版[转]
查看>>
Emacs常用命令汇总
查看>>
从传统IT快速走向公共云计算
查看>>
小菜一步一步学数据结构之(一)基本概念和术语
查看>>