Hi Alex, But in a stateless session there is no lazy loading, and no cache. That is is the whole point of a stateless session.
(see docs: http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/StatelessSession.html and question about lazy loading http://www.mail-archive.com/[email protected]/msg12715.html) I have tracked this down to what looks like a very weird bug. If you mark one of the properties of an entity with lazy="no-proxy", then the entity itself is returned as a proxy when you call IStatelessSession.Get<T>(); regards, Jordan. On Apr 30, 5:51 pm, Alex Vilela <[email protected]> wrote: > Hi Jordan, > > AKAIK the proxy is related to whether you want to lazy load your entity > properties and not whether you want to use the first/second level cache (a > stateless session). > > Alex Vilela > > On 30 April 2012 16:47, Jordan <[email protected]> wrote: > > > > > > > > > Ok - upon further investigation there is some weird behaviour here. > > > I have changed my code to retrieve 2 entities of different types with > > IStatelessSession.Get<T>(). > > > For one of them it correctly returns a non-proxy instance of T (and > > updates therefore work), but for the other it always gives me a proxy. > > > I would have thought it should never return a proxy? > > > regards, > > Jordan. > > > On Apr 30, 3:22 pm, Jordan <[email protected]> wrote: > > > Hi all, > > > > I've got a problem doing updates with a stateless session and I'm > > > wondering if anyone has seen something like this. (NHibernate 3.1). > > > > I'm basically doing the following: > > > > SomeEntity e = statelessSession.Get<SomeEntity>(id); > > > e.SomeProperty = "a new value"; > > > statelessSession.Update(e); > > > > and I am getting the following error: > > > > NHibernate.MappingException: No persister for: > > > Castle.Proxies.SomeEntityProxy > > > at NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(String > > > entityName) > > > at NHibernate.Impl.StatelessSessionImpl.GetEntityPersister(String > > > entityName, Object obj) > > > at NHibernate.Impl.StatelessSessionImpl.Update(String entityName, > > > Object entity) > > > at NHibernate.Impl.StatelessSessionImpl.Update(Object entity) > > > > I have stepped through in the debugger and can see that > > > statelessSession.Get<SomeEntity>(id) is returning me a proxy. Is this > > > correct? > > > > regards, > > > Jordan. > > > -- > > You received this message because you are subscribed to the Google Groups > > "nhusers" 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/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" 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/nhusers?hl=en.
