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を呼び出すときに、 query.ContactInfoListのキャッシュをクリア/更新する方法を教えてください。

4

1 に答える 1

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

そのキャッシュ領域をクリアします。キャッシュされたクエリ データを手動で更新することはできません。クエリが再度実行されると、キャッシュ領域が再設定されます (有効な場合)。

于 2009-12-01T08:19:24.133 に答える