我希望在NHibernate中有这个缓存的查询:
Configuration configurationEntry = session.CreateQuery("from Configuration configurationEntry where configurationEntry.Name = 'DefaultVendorId'").SetCacheable(true).UniqueResult<Configuration>();
我有
<property name="cache.use_query_cache">true</property>
在NHibernate配置文件中。
然而,当我运行NHibernate探查器时,我发现NHibernate多次执行查询。我显然希望查询只执行一次并缓存结果。有什么想法吗?
此致 MadSeb
答案 0 :(得分:1)
我希望它和Java Hibernate一样....你必须为你的缓存提供者添加一个链接...因为Hibernates没有提供...
这是我链接缓存提供程序的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>