<ehcache>
<cache name="query.ContactInfoList"
maxElementsInMemory="200"
eternal="true"
overflowToDisk="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
/>
</ehcache>
public List getContactInfoList(){
hibernateTemplate.setCacheQueries(true);
hibernateTemplate.setQueryCacheRegion("query.ContactInfoList");
List list = hibernateTemplate.find("from AdoContactInfo a where active = 1");
hibernateTemplate.setCacheQueries(false);
return list;
}
我可能知道在调用hibernatetemplate时清除/刷新缓存 query.ContactInfoList saveupdate
答案 0 :(得分:3)
hibernateTemplate.getSessionFactory().evictQueries("query.ContactInfoList");
将清除缓存区域。您无法手动刷新缓存的查询数据;一旦查询再次运行,将重新填充缓存区域(如果已启用)。