En mi aplicación, hay varios pasos en los que se realizarán muchas confirmaciones de forma secuencial a través de varios métodos. Ejemplo:Transacción anidada usando Spring e Hibernate
A -> B -> C
-> D
->E
-> F
-> G
A llama a B que llama a C. A continuación, B llama D. D llama E y así sucesivamente. Todos estos métodos tienen algunas operaciones de base de datos. Según tengo entendido desde PROPAGATION_REQUIRED
(gestión de transacción declarativa - el camino recomendado por la primavera), si E se completa con éxito, se confirmará la transacción (y las operaciones en E). Ahora, debido a alguna excepción, F debería llevar a una reversión. Quiero tener todo retroceso a partir de lo que A hizo. ¿Esto es posible a través de gestión de transacciones declarativas? ¿O debería usar Gestión de transacciones programática?
Gracias.
habría estado de acuerdo completamente con usted hasta que leo (en algún lugar, no puedo encontrar dónde estaba), la confirmación ocurre tan pronto como se completa el método. Creo que estoy equivocado en el entendimiento aquí. ¿Cuándo ocurre la confirmación real (no tenemos que hacerlo explícitamente, ¿verdad?)? –
la confirmación ocurre cuando se completa el método que inició la transacción. Es 'A' en este caso – Bozho
bien. estupendo. Muchas gracias. –