Nella mia app, ci sono più passaggi in cui molti commit al database saranno effettuati sequenzialmente attraverso più metodi. Esempio:Transazione nidificata utilizzando Spring e Hibernate
A -> B -> C
-> D
->E
-> F
-> G
A chiama B che chiama C. Poi B chiama D. D chiama E e così via. Tutti questi metodi hanno alcune operazioni di database. Come ho capito dal PROPAGATION_REQUIRED
(gestione dichiarativa delle transazioni - il modo consigliato primavera), se E si completa correttamente, la transazione (e le operazioni in E verranno confermate). Ora, a causa di alcune eccezioni, F dovrebbe portare a un rollback. Voglio avere tutto roll-back a partire da ciò che A ha fatto. E 'possibile tramite la gestione delle transazioni dichiarative? O dovrei usare la gestione della transazione programmatica?
Grazie.
mi sarebbe completamente d'accordo con te fino a quando non ho letto (da qualche parte - non riesco a trovare dove fosse) che il commit si verifica non appena il metodo è completato. Penso di aver torto nella comprensione qui. Quando avviene il vero e proprio commit (non dobbiamo farlo esplicitamente, giusto?)? –
il commit si verifica quando il metodo che ha avviato la transazione è stato completato. È 'A' in questo caso – Bozho
ok. grande. Grazie mille. –