with tutorial transactionattribute transaction sirve significa que para ejemplo java hibernate tomcat orm jta

java - tutorial - que significa jta



¿Cómo usar el soporte JTA en Tomcat 6 para Hibernate? (2)

Si quieres soporte de JTA en Tomcat necesitarás usar un administrador de transacciones independiente como Atomikos , JOTM , Bitronix , SimpleJTA , JBossTS o GeronimoTM/Jencks . Pero, sinceramente, si no va a manejar transacciones a través de múltiples recursos, entonces puede vivir sin JTA (y si realmente necesita JTA, use un servidor de aplicaciones completo).

Recomiendan usar soporte de transacciones JTA en el entorno Java EE.

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.

( Documentación de referencia de Hibernate | Arquitectura. Sesiones contextuales )


Si solo desea usar SessionFactory.getCurrentSession() , puede agregar las siguientes dos líneas a su hibernate.cfg.xml:

<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <property name="hibernate.current_session_context_class">thread</property>

Esto le dará una sesión única para cada hilo. Como una solicitud de servlet siempre se maneja dentro de un hilo (dado que su código no engendra nombres nuevos), la sesión seguirá vigente para toda la solicitud.

¡No olvide utilizar un filtro para cerrar la sesión después de la solicitud!