参看易百教程:https://www.yiibai.com/jpa/jpa_jpql.html
1 查询缓存
1.1 方法
1.2 配置文件
启用查询缓存
<property name="hibernate.cache.use_query_cache" value="true" />
1.3 测试方法
原来会发送2次sql查询,后来就只有一次了
//使用 hibernate 的查询缓存.
@Test
public void testQueryCache(){
Stringjpql= "FROM Customer c WHERE c.age >?";
Queryquery= entityManager.createQuery(jpql).setHint(QueryHints.HINT_CACHEABLE,true);
//占位符的索引是从 1 开始
query.setParameter(1, 1);
List<Customer>customers= query.getResultList();
System.out.println(customers.size());
query = entityManager.createQuery(jpql).setHint(QueryHints.HINT_CACHEABLE,true);
//占位符的索引是从 1 开始
query.setParameter(1, 1);
customers = query.getResultList();
System.out.println(customers.size());
}