Hi,

I'm using T5.0.12, Hibernate 3.2.6GA and MySQL 5.1. I ran into a problem
when I wanted to make two commits on the same request. The first commit
worked fine, but the second works "partially" (for example, an entity
deletion on the second transaction doesn't ocurr....).

Debugging, I realized that before the first call to
HibernateSessionManager.commit(), if I call
hsm.getSession().getTransaction() (which gets the underlying transaction
from the jdbcContext), the Transaction returned is the same instance that is
stored in a property on the hsm, but after calling hsm.commit(),
hsm.getSession().getTransaction() returns another instance of Transaction...

I guess the problem is that hsm.commit() after committing the transaction it
obtained when created the Session, instead of obtaining again the
(apparently new) underlying transaction calling session.getTransaction(), it
calls begin() on the same transaction it has stored on its property, which
isn't the real underlying transaction and because of that, the transaction
doesn't really begin again. If, after calling hsm.commit() I do a
hsm.getSession().getTransaction().begin() (which I assume really starts
another transaction on the database) all works perfectly.

I'm not neither a Tapestry nor Hibernate expert, but I think maybe
hsm.commit() should get again the transaction with session.getTransaction
after it commits the current transaction.

Regards.
-- 
View this message in context: 
http://www.nabble.com/-T5--tapestry-hibernate-and-transactions-tp17767677p17767677.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


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

Reply via email to