首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置没有二级缓存的查询缓存

配置没有二级缓存的查询缓存
EN

Stack Overflow用户
提问于 2014-05-11 12:07:32
回答 1查看 542关注 0票数 1

我想配置没有二级缓存的查询缓存,因为我已经读过了,但是对我来说,查询缓存只适用于二级缓存。

这是我的配置

代码语言:javascript
复制
<property name="cache.use_query_cache">true</property>

实体类是

代码语言:javascript
复制
@Entity
public class Company {}

但当我做的时候

代码语言:javascript
复制
session = factory.openSession();
Query getQuery=session.createQuery("from Company  where companyId=1");
getQuery.setCacheable(true);
Object company2 = getQuery.uniqueResult();
session.close();

session = factory.openSession();
getQuery=session.createQuery("from Company  where companyId=1");
getQuery.setCacheable(true);
company2 = getQuery.uniqueResult();
session.close();

会触发两个单独的查询。

一旦我做了

代码语言:javascript
复制
@Entity
@Cacheable
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Company {}

查询缓存工作,但它也支持二级缓存。那么,如何在不启用二级缓存的情况下配置查询缓存?

EN

回答 1

Stack Overflow用户

发布于 2014-05-12 12:10:14

查询缓存需要二级缓存来完成其工作,因为查询的结果随后将从第二级缓存中检索。查询缓存只跟踪查询和查询返回的一组ids。这些ids然后从2级高速缓存中从进一步的速度增长中被检索。你在哪里读到的没有二级缓存的查询缓存?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23592413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档