Java hibernate查询缓存指定缓存持续时间

Java hibernate查询缓存指定缓存持续时间,java,hibernate,spring,orm,caching,Java,Hibernate,Spring,Orm,Caching,下面是我如何查询缓存的 getHibernateTemplate().setCacheQueries(true); List<IssSection> result = (List<IssSection>) getHibernateTemplate().findByCriteria(crit); getHibernateTemplate().setCacheQueries(false); getHibernateTemplate().setCacheQu

下面是我如何查询缓存的

   getHibernateTemplate().setCacheQueries(true);
   List<IssSection> result = (List<IssSection>) getHibernateTemplate().findByCriteria(crit);
   getHibernateTemplate().setCacheQueries(false);
getHibernateTemplate().setCacheQueries(true);
列表结果=(列表)getHibernateTemplate().findByCriteria(crit);
getHibernateTemplate().setCacheQueries(false);

我可以知道如何指定缓存此方法的最长时间吗?假设我想在5分钟后清除缓存过期

Hibernate不提供控制缓存细节的接口,如您所请求的

相反,您必须选择提供该功能的缓存实现,并对其进行适当的配置

例如,您可以这样使用和配置它:

<cache
    name="com.somecompany.someproject.domain.Country"
    maxElementsInMemory="10000"
    eternal="false"
    **timeToIdleSeconds="300"**
    **timeToLiveSeconds="600"**
    overflowToDisk="true"
/>


上面突出显示的两个属性说明了如何为缓存元素配置缓存时间的持续时间。

Hibernate不提供用于控制缓存细节(如您请求的)的接口

相反,您必须选择提供该功能的缓存实现,并对其进行适当的配置

例如,您可以这样使用和配置它:

<cache
    name="com.somecompany.someproject.domain.Country"
    maxElementsInMemory="10000"
    eternal="false"
    **timeToIdleSeconds="300"**
    **timeToLiveSeconds="600"**
    overflowToDisk="true"
/>

上面突出显示的两个属性说明了如何为缓存的元素配置缓存时间的持续时间

我可以知道如何指定缓存此方法的最长时间吗

您必须选择支持过期的二级缓存提供程序(EHCache、OSCache、JCS),并为此特定请求配置缓存区域

我可以知道如何指定缓存此方法的最长时间吗

您必须选择支持过期的二级缓存提供程序(EHCache、OSCache、JCS),并为此特定请求配置缓存区域