hibernate的查询缓存
来源:互联网 发布:linux tar解压zip 编辑:程序博客网 时间:2024/05/22 08:19
查询缓存是在二级缓存的基础上,所以要想开启查询缓存,还要在hibernate,cfg.xml文件中多加一个属性:开启查询缓存:
<property name="cache.use_query_cache">true</property>
下面是查询缓存的使用
@Test public void testQueryCache(){ Session session=sessionFactory.openSession(); Query query=session.createQuery("from Classes"); //开启把获取到的信息放到查询缓存中 query.setCacheable(true); List<Classes> classes=query.list(); query=session.createQuery("from Classes"); //开启从缓存中获取信息 query.setCacheable(true); classes=query.list(); session.close(); }
运行之后,hibernate发出一条sql语句:
Hibernate: select classes0_.cid as cid0_, classes0_.cname as cname0_, classes0_.cdescription as cdescrip3_0_ from Classes classes0_
但是由于上面两条query语句查询的内容都是一样,那么我们来试一下不一样的hql语句:
@Test public void testQueryCache(){ Session session=sessionFactory.openSession(); Query query=session.createQuery("from Classes"); query.setCacheable(true); List<Classes> classes=query.list(); //从from Classes改成如下 query=session.createQuery("select cname from Classes"); query.setCacheable(true); classes=query.list(); session.close(); }
运行之后,发出了2条sql语句:
Hibernate: select classes0_.cid as cid0_, classes0_.cname as cname0_, classes0_.cdescription as cdescrip3_0_ from Classes classes0_Hibernate: select classes0_.cname as col_0_0_ from Classes classes0_
如果需要不断的查询某些相同的数据,即如果它们的的sql语句是一样的话,要进行很多次查询,那么使用查询缓存,效率将大大提高
0 0
- hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- Hibernate的查询缓存
- hibernate的查询缓存
- Hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- hibernate的查询缓存
- 巧用Hibernate的查询缓存
- hibernate的查询缓存机制
- Hibernate查询缓存的设置
- 【转】 hibernate的查询缓存
- Hibernate查询缓存的利弊
- hibernate的一级缓存、二级缓存、查询缓存
- RACSignal的Subscription深入分析
- Linux基础-硬
- Windows 7/XP 局域网络共享文件详细设置教程
- android中判断网络是否可用
- LeetCode OJ习题集
- hibernate的查询缓存
- 怎样在MathType中输入联立条件
- 程序员:如果不能自学,那就放弃吧
- 读写锁
- 史上最详细的Android Studio系列教程三--快捷键
- Redis整合Spring项目搭建实例指导
- SQL 可以将表中数据转换成insert脚本的存储过程-spGenInsertSQLHan
- 一个旋转的亮圈
- Access denied for user 'root'@'localhost' (using password: YES)