You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jochen Kemnade (JIRA)" <ji...@apache.org> on 2016/02/08 09:23:39 UTC

[jira] [Updated] (TAP5-2115) Document how the hibernate session is implemented

     [ https://issues.apache.org/jira/browse/TAP5-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade updated TAP5-2115:
---------------------------------
    Issue Type: Documentation  (was: Bug)

> Document how the hibernate session is implemented
> -------------------------------------------------
>
>                 Key: TAP5-2115
>                 URL: https://issues.apache.org/jira/browse/TAP5-2115
>             Project: Tapestry 5
>          Issue Type: Documentation
>          Components: documentation, tapestry-hibernate
>            Reporter: Lance
>            Priority: Minor
>              Labels: documentation, hibernate
>
> There have been many questions on the user's list about how the hibernate session is implemented in tapestry-hibernate and also how to use tapestry-hibernate outside of a tapestry managed request / response.
> I think that the documentation should mention the following:
> 1. The hibernate session service provided by tapestry-hibernate is a singleton
> 2. The singleton is a proxy that points to a per-thread, lazy loaded hibernate session instance
> 3. The per-thread session instance is cleaned up by Registry.cleanupThread() /
> PerThreadManager.cleanup()
> 4. Tapestry automatically cleans up the thread local inside the normal request / response flow
> 5. Outside of a tapestry managed request / response, you must explicitly cleanup the thread
> 6. Transaction management outside of a request/response flow
>    a. @CommitAfter and @Match("*DAO") with HibernateTransactionAdvisor
>    b. HibernateSessionManager.commit() and abort()
>    c. session.getTransaction().commit()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)