Sto progettando un'applicazione Spring MVC piuttosto standard, e sto cercando di capire dove dovrebbe essere la responsabilità della gestione delle transazioni.
Ho letto Java Transaction Design Strategies , e quello che ho la soluzione migliore è quella del delegato del server, in cui il controller è ciò che gestisce le transazioni, mentre i servizi e i DAO non sono consapevoli delle transazioni.
In qualche modo, questo non sembra giusto. Il mio istinto è che i servizi sono quelli che dovrebbero controllare le transazioni, ma ho casi in cui un controller può chiamare diversi servizi per eseguire un'azione.
Come hai gestito Transazioni nelle applicazioni MVC prima e dove ritieni che sia il posto migliore per gestire le transazioni?