org.hibernate.TransactionException thrown when a transaction is directly 
rolledback (outside of tapestry-hibernate)
-------------------------------------------------------------------------------------------------------------------

                 Key: TAPESTRY-2659
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2659
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-hibernate
    Affects Versions: 5.0.15
            Reporter: Buck O' Five


A "org.hibernate.TransactionException: Transaction not successfully started " 
occurs when a transaction is rolledback in tapestry-hibernate if the 
transaction has previously been rolledback.   The problem is because 
HibernateSessionManagerImpl retains a reference to the transaction. So when 
HibernateSessionManagerImpl .threadDidCleanup() is called it does not first 
check to see if the transaction reference has been rolled back (somewhere else) 
before calling rollback.  One possible fix would be to call 
Transaction.wasRolledback() to determine if tapestry-hibernate should call 
trans.rollback(). Another would be to not retain the reference to the 
transaction as explained in this post: 
http://www.nabble.com/-T5--tapestry-hibernate-and-transactions-td17767677.html#a19300096

Q. Why not just inject HibernateSessionManager and call abort()? 
A. Because there are times when you do not have control over the code calling 
trans.rollback() for example in a third party library (which is how I ran into 
this).




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to