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, bÄ—gantis 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]