That's quite strange, how up-to-date is your copy? I was using the cache stuff just last week! Shouldn't make any difference but if I remember correctly my cache call was first in my mappings... It really shouldn't make a difference but it might be worth a shot.
On Thu, Jul 30, 2009 at 10:27 PM, sbohlen <[email protected]> wrote: > > So debugging into the eventual ISessionFactory instance confirms that > the ISessionFactory.IsSecondLevelCacheEnabled property is in fact > 'true' and that the CacheProvider is set correctly. > > But asking FNH to spit out my mappings to disk turns up that the > mappings for my entity don't seem to be created with the proper cache- > related attributes in the mapping (e.g., no <cache usage="read-only"/> > value). > > This code.... > > class MyEntity: ClassMap<MyEntiity> > { > public MyEntityMap() > { > Map(x => x.Id); > Map(x => x.Width); > Map(x => x.Height); > Map(x => x.Name); > Cache.AsReadOnly(); > } > } > > ...produces this XML mapping file... > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default- > access=""> > <class name="MyEntity, MyAssembly, Version=1.0.0.0, Culture=neutral, > PublicKeyToken=null" table="MyEntity" xmlns="urn:nhibernate- > mapping-2.2"> > <id name="Id" type="Int64" column="id"> > <generator class="identity" /> > </id> > <property name="Width" type="Int32"> > <column name="width" /> > </property> > <property name="Height" type="Int32"> > <column name="height" /> > </property> > <property name="Name" type="String"> > <column name="name" /> > </property> > </class> > </hibernate-mapping> > > > ...which is obviously devoid of any cache attribute at all, explaining > why I don't get ant caching on my entity. Am I overlooking something > here in the function of Cache.AsReadOnly() or is this a bug...? > > Any help appreciated. > > Thx in advance, > > -Steve B. > > > > On Jul 30, 4:06 pm, sbohlen <[email protected]> wrote: > > I must be overlooking something (probably simple), but can anyone > > describe to me (or point me to a blog post or other resource) that > > covers how to use FNH to configure the second-level-cache properly? > > > > In my configuration, I'm presently doing this... > > > > MsSqlConfiguration.MsSql2005.ConnectonString(...) > > .Cache(c=>c.ProviderClass<HashtableCacheProvider>()); > > > > ...and in my ClassMap<T> I'm doing... > > > > Map(...) > > Cache.AsReadOnly(); > > > > ...which would SEEM from the docs to be all that's needed. Using XML, > > I'd also have to set... > > > > <property name="cache.use_second_level_cache">true</property> > > > > ...in the hibernate.cfg.xml file but while I was somewhat expecting to > > be able to say something like... > > > > MsSqlConfiguration.MsSql2005.ConnectonString(...) > > .Cache(c=>c.ProviderClass<HashtableCacheProvider>()) > > .Cache(x=x.UseSecondLevelCache(true)); //<--- expected line > > here > > > > ...there's no such method exposed for the Cache. In FNH, does simply > > setting the Cache's ProviderClass implicitly also ENABLE the second- > > level cache or am I missing another method that's needed to actually > > turn the Cache on? Didn't see anything that obvious in > > intellisense... > > > > And if nothing else is needed (e.g., my code above -- minus the extra > > method I seem to want to call even though it doesn't exist -- is > > actually correct), does anyone have any other ideas about why this > > collection of settings actually doesn't prevent my query for my cached > > objects from hitting the DB when its invoked a second time? > > > > Feels like this would take perhaps 20 seconds in XML but is becoming > > increasingly frustrating in code :( > > > > Thoughts, anyone--? > > > > -Steve B. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---
