nhibernate
  • caching
  • 2010-11-27 10 views 0 likes 
    0

    Ich möchte diese im Cache gespeicherten Abfrage in NHibernate haben:NHibernate Cached Abfrage

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

    Ich habe

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

    in der NHibernate-Konfigurationsdatei.

    Wenn ich jedoch den NHibernate-Profiler ausführe, sehe ich, dass NHibernate die Abfrage mehrere Male ausführt. Ich möchte natürlich, dass die Abfrage nur einmal ausgeführt und das Ergebnis zwischengespeichert wird. Irgendwelche Ideen ? Diese

    Grüße, MadSeb

    Antwort

    1

    ich seine die gleiche wie in Java Hibernate hoffen .... Sie haben eine Verbindung zu Ihrem Cache-Provider hinzuzufügen ... weil überwintert keine ...

    bietet ist Teil meiner Java-Hibernate-Konfiguration, die den Cache-Provider verbindet.

      <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> 
    
    Verwandte Themen