OK, issue solved; I am apparently a moron. The trouble is on my side; we are using automapping in SOME places and explicit mapping in others and I was making the change in (some) of the wrong places in code.
Problem solved; sorry to have bothered eveyone with my incompetence <g>. As soon as I attempted to reproduce my issue in a sandbox (outside of the scope of my actual application), I verified the issue isn't with FNH (worked fine in my sandbox, which lead me to the root of the issue with out impl). Thanks, -Steve B. On Jul 30, 5:34 pm, James Gregory <[email protected]> wrote: > 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.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
