HiberNate的查询缓存
1. 是什么
查询缓存是二级缓存的增强版,二级缓存不能缓存对象的属性,但是查询换粗是可以的
2. 怎么办
查询缓存依赖二级缓存,在Hibernate.cfg.xml文件中必须要先配置好二级缓存,才能配置使用查询缓存
1. 在Hibernate.cfg.xml文件中开启查询缓存
<property name="hibernate.cache.use_query_cache">true</property>
2. 在Java代码中使用
```Java
@Test
/*
* 查询缓存区,查询缓存区可以缓存对象的属性,是二级缓存区的加强,但是必须依赖于二级缓存区
* */
public void demo5(){
Session session = HibernateUtils.openSession();
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("select c.name from Customer c");
//如果想使用二级缓存,必须设置Cacheable属性为true,而且必须上下都需要设置
query.setCacheable(true);
List<String> list = query.list();
transaction.commit();
session.close();
session = HibernateUtils.openSession();
transaction = session.beginTransaction();
Query query2 = session.createQuery("select c.name from Customer c");
//这里也需要设置
query2.setCacheable(true);
List<String> list2 = query2.list();
transaction.commit();
session.close();
}
```