you sound like a happy hibernate user, so I hope I 
can bother you with a question:

do you use detached instances as @Persist-ent properties and 
reattach them using 

  session.lock(entity, LockMode.NONE) 

or do you serialize  the business key only and restore the entities with
 
  session.get(type, key) 

?

I got little luck with session.lock(...) inside forms that manipulate the
state of a hibernate object, especially if I modify collections as
hibernate states I 'can not reattach objects with a dirty collection'.

you answer would be of great help as hibernate 
gives me an incredible hard time. And I just don't want to
write SQL myself :-)


regards
Peter

> --- Ursprüngliche Nachricht ---
> Von: "Kurtis Williams" <[EMAIL PROTECTED]>
> An: "Tapestry users" <[email protected]>
> Kopie: <[EMAIL PROTECTED]>
> Betreff: RE: Another Stupid Hibernate Question (TP4)
> Datum: Thu, 22 Sep 2005 10:18:48 -0600
> 
> I've successfully deployed several Tapestry/Hibernate applications using
> Spring as the glue.  Personally, I find Hibernate development is made
> easier with Spring, even in small projects.  I can't imagine using
> Hibernate without using Spring.  The two work hand-in-glove.  Spring's
> declarative transaction handling alone is worth the price of admission.
> 
> As for the OpenSessionInView filter provided with Spring, it works great
> with Tapestry applications.
> 
> Most folks run into problems with Tapestry and Hibernate because they're
> not careful with lazy properties and detached objects.  With Tapestry's
> wealth of options for dealing with object data in a page it's very easy
> to get your hibernate objects detached from a session.  That can cause
> the two exceptions everybody encounters (and unfairly blames on the
> Hibernate/Tapestry combo):
> 
> The infamous net.sf.hibernate.LazyInitializationException
> And the insidious net.sf.hibernate.NonUniqueObjectException
> 
> These two problems are easily solved by using the OpenSessionInView
> pattern and by carefully managing when and where objects are serialized
> into either the Session (as persistent properties) or the Page (as
> hidden fields, parameters, etc. - use "View Source" to make sure there
> aren't unexpected hibernate serializations into your page.)
> 
> -----Original Message-----
> From: Cory Watson [mailto:[EMAIL PROTECTED] 
> Sent: Saturday, September 17, 2005 9:20 PM
> To: Tapestry users
> Subject: Another Stupid Hibernate Question (TP4)
> 
> I can't find a definitive answer for how to utilize Hibernate  
> properly in Tapestry.
> 
> I used to use a 'Session In View' by way of a HibernateHelper class  
> with that held the session in a ThreadLocal, then utilized my  
> Engine's cleanupAfterRequest().  This suddenly no longer works right  
> in TP4.  My cleanupAfterRequest() never gets called.
> 
> I see custom services, hivetranse, spring, and servlet filters.  I  
> realize that all of these probably have their place, but I don't  
> understand which one is good for me.  I'm a bit leery of using Spring  
> for something this simple, and the hivemind ways scare me because i  
> only see whispers of it and no examples that help me understand how  
> to do it.
> 
> So help a guy out.  What's the best way to accomplish the proper  
> session.close() and session.flush() at the end of a request?  That's  
> all I'm after.  For now I'll use a servlet filter.
> 
> Cory Watson
> http://www.onemogin.com
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to