Sto utilizzando Hibernate Envers per controllare le mie entità e proprietà (org.hibernate.envers.global_with_modified_flag=true
). Questo sembra funzionare, ma ora mi piacerebbe ottenere tutte le proprietà di un'entità specifica che è cambiata a una data revisione, rispetto alla precedente. Come bonus, sarebbe bello avere il changeset da una revisione a un'altra. Finora, ho solo le entità modificati:Come ottenere le proprietà modificate mediante la revisione
List<Object> modifiedClassesAtRevision = getAuditReader().getCrossTypeRevisionChangesReader().findEntities(revision, RevisionType.MOD)
Object modifiedObject = modifiedClassesAtRevision.get(0);
Ora, dal momento che non voglio creare metodi di confronto per tutte le entità in Java, esiste un modo per ottenere le proprietà modificate di questa revisione? Qualcosa sulla falsariga di
List<String> modifiedProperties = getAuditReader().getModifiedProperties(modifiedObject, revision);
sarebbe bello avere - ma forse io sono troppo stupido per trovare quel tipo di funzione.
Grazie, avevo visto quell'opzione di interrogazione, non ero sicuro che l'elenco delle proprietà modificate non fosse semplicemente menzionato nella documentazione o se effettivamente mancasse. Ora so che è il secondo ;-) Come soluzione alternativa, recupero la vecchia versione e la nuova versione e uso 'BeanUtils' e' PropertyUtils' per iterare su tutte le proprietà e confrontare i loro valori. Non è bello, ma funziona per ora. :-) –