On Apr 11, 2007, at 11:15 PM, Arun Kumar PG wrote:
> Hi Michael, > > So how can I prevent this as I can't access the lazyload attributes > in my manager class once I get the result set from DAO as i get no > parent session/contextual session exists exception. > > should I maintain a reference to the session object in the DAO > class so that it is not garbage collected ? heres the approaches in descending order of inconvenience: you can, as a workaround, immediately access all the lazy load relations in your getResults() method...i do this with hibernate a lot. otherwise, one option is to explicitly keep a Session around that doesnt get garbage collected, like you mention. but what a lot of people do is use the SessionContext extension with your mappers. that way when the lazy loader fires off, it looks for the Session, but if it cant find it, calls mapper.get_session() which then calls the SessionContext....SessionContext then creates a new session if one does not exist already for the current thread. so using SessionContext is kind of like replacing the weakly-referenced Session with a Session that is bound to a thread. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" 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/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
