Они рекомендуют использовать поддержку транзакций JTA в среде Java EE.
Но как настроить JTA в Tomcat6, чтобы сеанс Hibernate мог его использовать?
Начиная с версии 3.0.1, Hibernate добавил метод
SessionFactory.getCurrentSession()
. Первоначально это предполагало использование транзакций JTA, где транзакция JTA определяла как объем, так и контекст текущего сеанса. Учитывая зрелость многочисленных автономных реализаций JTA TransactionManager, большинство, если не все, приложения должны использовать управление транзакциями JTA, независимо от того, развернуты они в контейнере J2EE или нет. Исходя из этого, контекстные сеансы на основе JTA - это все, что вам нужно для использования.
(Справочник по Hibernate Документация | Архитектура. Контекстные сессии)