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]