Mark, As James suggested (for another project supporting Hibernate in HiveMind), what you can do (also in hivetranse!) is to create a filter that could call the hivetranse TransactionService to explicitely start/commit/rollback the transaction, in this case you don't need to use the hivetranse TransactionInterceptor anymore (hence the declarative transaction demarcation).
However, I have to say that I would not use this way for my own apps, I prefer to stick with the transaction demarcation at the façade level. Cheers Jean-Francois -----Original Message----- From: news [mailto:[EMAIL PROTECTED] On Behalf Of Mark Reynolds Sent: Thursday, April 13, 2006 9:51 AM To: tapestry-user@jakarta.apache.org Subject: Re: tapestry-hibernate integration problem The problem I experienced using hivetranse and the "open session in view" was this: 1) execute one transactional method, transaction is committed when the method returns and the hibernate session is kept open 2) execute another transactional method, hivetranse opens a second hibernate session, transaction is committed when the method returns and the hibernate session is kept open Now I have two hibernate sessions for the same request and can easily get hibernate errors regarding the same persistent object being on two different sessions. It seems like hivetranse should be able to reuse the same session throughout a single request, as long as it doesn't hit a nested method demarcated as "requires new". Has anyone found a solution for this? Or at least seen the same issue? -- Mark R Nick Faiz wrote: > Just a note that you dont need to write code to control the Hibernate > session & transaction lifecycles if you use HiveUtils (aka Hivetranse). > > http://sourceforge.net/projects/hivetranse/ > > In my current project, I configured the hibernate session as a hivemind > component, which is injected into whichever component I like. I also use > the HiveUtils transaction interceptor, which transparently handles > transactions for all components using it, following the 'open session in > view' pattern. > > http://hivetranse.sourceforge.net/web/quickstart.html#start.config.hibernate > > > Nick > > On 12/04/2006, at 10:21 PM, begantis debesis wrote: > >> Hi everyone, >> >> I extended a BasePage and added there a getSession method, which opens a >> hibernate session and starts a transaction (if it is not yet opened). >> Also, >> I commit the transaction and close the session on the overrided >> BasePage.detach() method. >> >> The problem is that when I save something on page 1 and then redirect to >> page 2, page 2 gets the old information from the database. That is >> because >> detach method on page1 (where the transaction commit resides) is invoked >> after page2 getInformation() method called. >> >> So, the question is, is there a method like detach but which is invoked >> before another page starts its activities? Or maybe using transaction per >> request is bad at all? >> >> Or maybe you know some other easy way to intergrate tapestry and >> hibernate? >> >> Thank you in advance, >> Valdemaras > > Nick Faiz, > Developer > www.q9software.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]