2010-11-27 84 views
0

我想有這個緩存的查詢NHibernate的:NHibernate的緩存查詢

Configuration configurationEntry = session.CreateQuery("from Configuration configurationEntry where configurationEntry.Name = 'DefaultVendorId'").SetCacheable(true).UniqueResult<Configuration>(); 

我NHibernate的配置文件中有

<property name="cache.use_query_cache">true</property> 

但是,當我運行NHibernate profiler時,我發現NHibernate多次執行查詢..我顯然希望查詢只執行一次,並且結果緩存。有任何想法嗎 ?

問候, MadSeb

回答

1

我希望它等同於Java的休眠....你有一個鏈接添加到您的緩存提供商......因爲Hibernate的提供無...

這是連接緩存提供者的Java-Hibernate配置的一部分。

  <prop key="hibernate.cache">true</prop> 
      <prop key="hibernate.cache.use_second_level_cache">true</prop> 
      <prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory</prop> 
      <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>