0
<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 saveupdate 时清除/刷新查询的缓存。ContactInfoList

4

1 回答 1

3
hibernateTemplate.getSessionFactory().evictQueries("query.ContactInfoList");

将清除该缓存区域。不能手动刷新缓存的查询数据;一旦查询再次运行,缓存区域将被重新填充(如果启用)。

于 2009-12-01T08:19:24.133 回答