article : http://www.jroller.com/
comments/kbaum/Weblog/orm_lazy_initialization_with_dao On 12/19/05, Stephane Decleire <[EMAIL PROTECTED]> wrote: > Could you explain your custom SqueezeAdaptor approach a bit more ? It > seems very interesting ! > > Stephane > > Paul Cantrell wrote: > > >>> open and close the Hibernate session using a servlet filter, keep > >>> the session on a ThreadLocal while it's open, and never keep > >>> persistent objects in the session (keep their keys instead). > >> > >> > >> Spring already supply a suitable filter that does this, > >> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter. My > >> solution still requires this filter to be present, as it only attaches > >> page-persistent objects back into an existing session on the current > >> thread. > > > > > > Ah, I'd missed that on my code skim. In that case, your solution is > > totally reasonable -- if you're going to be holding persistent > > objects between requests, I can't think of a better way to do it. > > > >> But of course only storing object keys in the session is the leanest > >> and most > >> scalable approach, > > > > > > Agreed.... > > > >> if you don't mind hitting the database on every request. > > > > > > If you use Hibernate caching, you're not hitting the DB. I like this > > approach best: it keeps data fresh, and you can let you Hibernate > > cache plugin deal with data consistency issues instead of your app. > > > > Add to that a custom SqueezeAdaptor that fetches your Hibernate > > objects, and you can basically act as though you're just passing > > persistent objects to and from listeners, even though they're > > magically always a new, up-to-date object on each request. > > > > Cheers, > > > > Paul > > > > _________________________________________________________________ > > Piano music podcast: http://inthehands.com > > Other interesting stuff: http://innig.net > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > Stéphane Decleire > > 05 56 57 99 20 > 06 63 78 69 06 > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]