2010-02-17 4 views

Répondre

1

Le cache de requête n'est pas activé par défaut. Pour activer dans votre hibernate.cfg.xml:

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

Vous devez spécifier une zone de cache pour les requêtes. Si ce n'est pas spécifié, la région sera "NHibernate.Cache.StandardQueryCache".

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

Pour syscache, les régions de cache sont configurées en vous 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> 
Questions connexes