Recomiendan utilizar soporte de transacciones JTA en el entorno Java EE.¿Cómo utilizar el soporte JTA en Tomcat 6 para Hibernate?
¿Pero cómo configurar JTA en Tomcat6 para que la sesión de Hibernate pueda usarlo?
A partir de la versión 3.0.1, Hibernate agregó el método SessionFactory.getCurrentSession(). Inicialmente, este uso asumido de transacciones JTA, donde la transacción JTA definió tanto el alcance como el contexto de una sesión actual. Dada la madurez de las numerosas implementaciones JTA independientes de TransactionManager, la mayoría de las aplicaciones, si no todas, deberían usar la gestión de transacciones JTA, independientemente de si están implementadas en un contenedor J2EE. En base a eso, las sesiones contextuales basadas en JTA son todo lo que necesita usar.
¿Realmente necesitas JTA? – Bozho
Ok, necesito una SessionFactory configurada JNDI. Ahora cuando puedo obtener una SessionFactory a través de la búsqueda, necesito configurar JTA. Mis clases particulares usan getCurrentSession() y, como puedo leer en la documentación, esto solo funciona en el entorno configurado de JTA. Además, como ya mencioné, prácticamente todo el mundo recomienda usar JTA en el entorno JEE. – EugeneP
No use JTA solo porque alguien le dijo que lo necesita. JTA es muy complejo e innecesario en el 99% de las situaciones. Hibernate/JPA funcionará bien sin eso. – skaffman