2009-05-18 16 views

Respuesta

3

La diferencia es que el uso de la demarcación basada en la anotación de transacciones (@Transactional) y el TransactionTemplate es que el uso de los TransactionTemplate parejas usted para la infraestructura de transacciones de primavera y significa que usted programación manejar estableciendo el estado de la transacción si la transacción debe ser revertido. Puede usar la demarcación de transacción basada en anotaciones con el soporte de transacciones de Spring o con transacciones de AspectJ fuera de un contenedor de Spring.

Véase también online documentation for transactions in Spring.

4

Las clases de plantillas de Spring solo están ahí para proporcionar una API más agradable para realizar operaciones de persistencia: no se ocupan de las transacciones. Si desea tener operaciones transaccionales, debe usar el enfoque de anotación @Transactional, o usar TransactionTemplate.

0

¿Quiere decir usin @transactional encapsulará mis métodos de dao con commit, close o al usar la plantilla de transacción de primavera (jpatemplate, hibernatetemplate)?

1

Cuando utiliza @transactional con la configuración Spring correcta, Spring reconocerá que el método necesita una transacción y se encargará de la creación de la transacción, confirmar y cerrar para usted.

Como dijo skaffman, @transactional no está directamente relacionado con las clases de plantilla. Se pueden usar para cualquier clase que pueda necesitar transacciones.

Cuestiones relacionadas