下面是我如何查询缓存
getHibernateTemplate().setCacheQueries(true);
List<IssSection> result = (List<IssSection>) getHibernateTemplate().findByCriteria(crit);
getHibernateTemplate().setCacheQueries(false);
我可以知道如何指定缓存此方法的最长时间吗?假设我希望在5分钟到期后清除缓存
答案 0 :(得分:4)
Hibernate不提供用于控制缓存细节的接口,例如您请求的。
相反,您必须选择提供该功能的缓存实现,并对其进行适当配置。
E.g。你可以使用EhCache并像这样配置它:
<cache
name="com.somecompany.someproject.domain.Country"
maxElementsInMemory="10000"
eternal="false"
**timeToIdleSeconds="300"**
**timeToLiveSeconds="600"**
overflowToDisk="true"
/>
上面两个突出显示的属性说明了如何配置缓存元素的缓存时间。
答案 1 :(得分:2)
我是否知道如何指定缓存此方法的最长时间?
您必须选择支持过期的二级缓存提供程序(EHCache,OSCache,JCS),并配置此特定请求的缓存区域。