Sto realizzando per hobby una piccola applicaziona Java stand-alone.
A livello di back-end la mia applicazione ha la seguente stratificazione
Business
--------
DAO
-------
DB MySql
Per l'interazione con il db uso Hibernate.
Il mio problema è il seguente: gestire le transazioni a livello di business. Mi spiego meglio.
Supponiamo che un metodo di business faccia due o più chiamate al DAO. Ogni operazione del DAO è gestita come transazione da Hibernate. Io però vorrei che anche il metodo di business venga considerato una transazione, indipendentemente se fa chiamate ai DAO o no.
Se ad esempio il mio metodo di business fa:
dao.faiQualcosa();
dao.faiQualcheAltraCosa();
io vorrei che queste due operazioni o vengono fatte tutte due o nessuna.
So che per esempio gli EJB consentono di realizzare questo.
Non trovandomi su un application-server, avevo pensato di orientarmi verso Spring, ma pure leggendo le reference, non ho capito molto su come gestire le transazioni.
Spero di aver chiarito il problema, grazie per l'aiuto.