Doesn't seem like a problem with Hibernate though. The transaction manager is there, it just returns null for transaction. According to the code in org.hibernate.context.JTASessionContext class if transaction manager returns null, the context is not trying to begin a new transaction but throws HibernateException. Here's the exact place (lines 59-62):
Code:
txn = transactionManager.getTransaction();
if ( txn == null ) {
throw new HibernateException( "Unable to locate current JTA transaction" );
}
I don't know if the context should try to start a new transaction when this happens. Probably not. It's the application server's job to do JTA.
Any help is appreciated.
Thanks.