Я использую Hibernate Envers для проверки моих объектов и свойств (org.hibernate.envers.global_with_modified_flag=true
). Это похоже на работу, но теперь я хотел бы получить все свойства конкретной сущности, которая изменилась при данной ревизии, по сравнению с предыдущей. В качестве бонуса было бы неплохо получить набор изменений от одной версии к другой. До сих пор я получаю только измененные объекты:Получение измененных свойств по ревизии
List<Object> modifiedClassesAtRevision = getAuditReader().getCrossTypeRevisionChangesReader().findEntities(revision, RevisionType.MOD)
Object modifiedObject = modifiedClassesAtRevision.get(0);
Теперь, так как я не хочу создавать методы сравнения для всех объектов в Java, есть ли способ, чтобы получить измененные свойства этой версии? Что-то вдоль линий
List<String> modifiedProperties = getAuditReader().getModifiedProperties(modifiedObject, revision);
бы неплохо иметь - но, может быть, я просто слишком глуп, чтобы найти такую функцию.
Спасибо, я видел этот запрос, просто не был уверен, что список измененных свойств просто не упоминался в документации или если он на самом деле отсутствует. Теперь я знаю, что это последний ;-) В качестве обходного пути я беру старую версию и новую версию и использую «BeanUtils» и «PropertyUtils» для перебора всех свойств и сравнения их значений. Нехорошо, но сейчас это работает. :-) –