2010-02-17 32 views

回答

1

默認情況下,查詢緩存未啓用。要在您的hibernate.cfg.xml中啓用它:

<add key="hibernate.cache.use_query_cache" value="true" /> 

您應該爲查詢指定一個緩存區域。如果未指定,則該區域將爲「NHibernate.Cache.StandardQueryCache」。

Session.CreateCriteria<User>() 
    .SetCacheRegion("UserQuery") 
    .List(); 

對於syscache,緩存區域在你配置的app.config:

<configuration> 
    <configSections> 
     <section name="syscache" type="NHibernate.Caches.SysCache.SysCacheSectionHandler,NHibernate.Caches.SysCache" /> 
    </configSections>  
    <syscache> 
     <cache region="User" expiration="300" priority="3" /> 
     <cache region="UserQuery" expiration="60" priority="3" /> 
    </syscache> 
</configuration>