Abbiamo un requisito per il nostro progetto, in cui è necessario mantenere una sorta di cronologia delle modifiche apportate a determinate entità nell'applicazione. L'Applicazione è un'app Web Java basata su Struts, Spring e Hibernate. Che tipo di approcci sono stati usati in questo caso?Registrazione delle modifiche delle entità nell'applicazione Web Java
- I trigger sulle rispettive tabelle sono un'idea ma non sono facilmente mantenibili? e forse anche loro non dovrebbero essere parte delle transazioni (ok se i trigger falliscono, ma le transazioni di aggiornamento delle entità non dovrebbero fallire).
- Utilizzare AoP per questo poiché è un problema trasversale, ma deve essere veramente granulare, come nel catturare solo i valori quando l'entità cambia. (Tutte le modifiche non hanno i loro metodi differenti corrispondenti ... molte modifiche avvengono in un singolo metodo java).
- Utilizzare gli ascoltatori di eventi di ibernazione.
Esistono altri approcci per questo tipo di attività?
Grazie per le informazioni Arthur. Per la semplice implementazione sto cercando di estendere Hibernate Event Listener. –
+1, per la spiegazione generale. – Bozho
+1 come Bozho ha detto –