hibernate学习笔记第21讲-查询缓存

hibernate查询缓存

 

查询缓存是针对普通属性结果集的缓存

对实体对象的结果集只缓存id

 

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

 

查询缓存的配置和使用:

     *在hibernate.cfg.xml文件中启用查询缓存,如:

     <propertyname="hibernate.cache.use_query_cache">true</property>

     *在程序中必须手动启用查询缓存,如:

     query.setCacheable(true);

 

在查询缓存中,它并不缓存结果集中所包含的实体的确切状态;它只缓存这些实体的标识符(ID)属性的值、以及各值类型的结果。 所以查询缓存通常会和二级缓存一起使用。

绝大多数的查询并不能从查询缓存中受益,所以Hibernate默认是不进行查询缓存的。如若需要进行缓存,请调用Query.setCacheable(true)方法。这个调用会让查询在执行过程中时先从缓存中查找结果, 并将自己的结果集放到缓存中去。

 

相关推荐