Я использую Hibernate Envers 4.2.21.FINAL. Поскольку я хочу отслеживать только изменения некоторых свойств, я добавил аннотациюEnvers 4.2.x добавляет запись в таблицу AUD, даже если изменений нет
@Audited(withModifiedFlag = true)
на них. Столбец флажка «propname_MOD» правильно создан, но проблема в том, что при сохранении объекта все флаги MOD имеют значение true, и не только для измененного атрибута. Кто-нибудь знает, как решить эту проблему?
UPDATE Я заметил, что в классе org.hibernate.envers.event.EnversPostUpdateEventListenerImpl
, когда следующий объект конкретизируется
AuditWorkUnit workUnit = new ModWorkUnit(
event.getSession(),event.getPersister().getEntityName(),getAuditConfiguration(),
event.getId(),event.getPersister(),newDbState,event.getOldState());
event.getOldState()
имеет нулевое значение, но ИМО это должно быть не нулевым. Вот почему Envers каждый раз добавляет новую ревизию.