【发布时间】:2014-06-28 20:01:54
【问题描述】:
我想为一些学习目的配置不带二级缓存的查询缓存,因为我已经读过它可以做到,但不知何故,查询缓存只适用于二级缓存。
这是我的配置
<property name="cache.use_query_cache">true</property>
实体类是
@Entity
public class Company {}
但是当我这样做时
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();
两个单独的查询被触发。
只要我这样做
@Entity
@Cacheable
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Company {}
查询缓存工作,但它也启用二级缓存。那么如何配置查询 缓存而不启用二级缓存?
【问题讨论】:
标签: java hibernate second-level-cache query-cache