Hi,
Did you find an answer to the problem?
We are using Hibernate on a project and ran into the same issues that u mentioned. The following article posted on java.net might be of interest to you:
http://today.java.net/pub/a/today/2005/01/14/tranhiber.html As mentioned in this article and as confirmed by the answers posted on Hibernate's faqs, if you use CMT (declarative transaction management by container), then Hibernate has no role to play in transaction management. So calls to Hibernate Transaction api including tx.beginTransaction, commit, rollback etc need not (should not) be made. The container is responsible solely for transaction management.
So I would suggest that u markup the transaction attribute in ur deployment descriptor as required or requiresnew and remove all calls to Hibernate Transaction api.
HTH,
Regards
Prabhakar