Кэш запросов не включен по умолчанию. Чтобы включить его в hibernate.cfg.xml:
<add key="hibernate.cache.use_query_cache" value="true" />
Вы должны указать область кэша для запросов. Если не указан, регион будет «NHibernate.Cache.StandardQueryCache».
Session.CreateCriteria<User>()
.SetCacheRegion("UserQuery")
.List();
Для системного кэша области кэша настраиваются в вашем 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>