Estoy desarrollando una aplicación web basada en JPA + Hibernate, Spring y Wicket. Me preguntaba ¿cuál es la mejor forma de implementar transacciones en mi código? ¿Qué gerente de transacciones debería usar? ¿Debería ser org.springframework.orm.jpa.JpaTransactionManager
, o org.springframework.jdbc.datasource.DataSourceTransactionManager
o alguna otra cosa? Me gustaría usar Spring para administrar mis transacciones.¿Qué administrador de transacciones usar? (JPA, Spring)
Respuesta
nanda is right, que puede utilice únicamente JpaTransactionManager. La abstracción de Transaction Manager de la que estamos hablando aquí es la interfaz PlatformTransactionManager de Spring, y JPATransactionManager es la única implementación de esa interfaz que comprende JPA.
Debe leer el capítulo Transaction Management de la referencia de Spring para comprender mejor este tema.
org.springframework.orm.jpa.JpaTransactionManager
Mi preferencia es utilizar esto con anotación:
<tx:annotation-driven transaction-manager="myTxManager" />
La interfaz org.springframework.transaction.PlatformTransactionManager es la abstracción clave en Spring API que proporciona los métodos esenciales para controlar las operaciones de transacción en tiempo de ejecución: begin, commit y rollback.
PlatformTransactionManager interfaz, sus implementaciones
- JtaTransactionManager -----> JTA
- DataSourceTransactionManager -----> JDBC
- JpaTransactionManager ------>APP
- HibernateTransactionManager ------>Hibernate
que depand en su requerimiento, que moudle de la primavera que está utilizando
- 1. Configuraciones del administrador de transacciones de Hibernate en Spring
- 2. Administradores de transacciones múltiples JPA
- 3. Cómo administrar transacciones con JAX-RS, Spring y JPA
- 4. Spring: gestor de transacciones con anotación
- 5. Spring + JPA @Transactional no confirma
- 6. JPA por qué usar createNamedQuery
- 7. JdbcTemplate y transacciones de Spring
- 8. ¿El administrador de transacciones de Spring vincula una conexión a un hilo?
- 9. ¿Qué gestor de transacciones debería usar para la plantilla JBDC cuando uso JPA?
- 10. Spring + Hibernate + JPA
- 11. ¿Mantiene abierto el administrador de la entidad de JPA?
- 12. transacciones y administrador de entidades symfony2
- 13. Spring @Transaction no inicia transacciones
- 14. JPA vs Spring JdbcTemplate
- 15. Transacciones fáciles usando Spring JDBC?
- 16. ¿Se pueden usar archivos .hbm en una aplicación JPA con Hibernate como proveedor JPA?
- 17. Spring JPA Data "O" consulta
- 18. Spring, las transacciones JPA solo funcionan en la prueba JUnit pero no en la aplicación
- 19. cómo configurar mutliple administradores de transacciones con Spring + + DBUnit JUnit
- 20. ¿Cómo utilizar la auditoría en JPA/Spring-Data JPA?
- 21. El administrador de transacciones ha deshabilitado su soporte para transacciones remotas/de red
- 22. Hibernate y JPA, ¿qué usar, dónde?
- 23. Inyección de Dependencia con Spring/Junit/JPA
- 24. registra dinámicamente el detector de transacciones con spring?
- 25. Spring 3.0 ORM con JPA 2.0 ClassCastException
- 26. Comprensión de Spring Data JPA @NoRepositoryBean interfaz
- 27. Servicio Transaccional Manual y capa DAO para JPA con Spring
- 28. "Error en la comunicación con el administrador de transacciones subyacente"
- 29. MSDTC - Falló la comunicación con el administrador de transacciones subyacente
- 30. Spring Data JPA no válido page.sort Parámetros
bien, muchas gracias chicos! –
+1 para su integridad y +1 para nanda también para ser justo :) –
@SeanPatrickFloyd Si podemos usar JpaTransactionManager solo entonces ¿por qué existen tantos otros manejadores de transacción en Spring y cuándo deberían usarse? – Erlan