Hibernate envers - Как хранить только обновленные значения

Я использую Hibernate Envers для моего аудита. После обновления и после вставки работает нормально.

У меня есть требование, когда мне нужно проверять только обновленные столбцы в таблице аудита (например, employee_aud). По умолчанию envers вставит всю сохраненную сущность в таблицу аудита.

Мне нужно только вставить значения, которые обновляются.

Есть ли возможность сделать это?

Заранее спасибо.

Ура!

2 ответа

Когда вы аннотируете объект с @Auditedвы контролируете, какие свойства должен проверять Envers при возникновении изменений. Затем эти свойства сравниваются между старым и новым состоянием, и, если они различаются, Envers запишет новую запись аудита с новыми значениями состояния для всех проверенных свойств.

Другими словами, Envers не будет писать новую строку аудита только с измененными свойствами, которые вы переключили для аудита. Он напишет новую строку аудита со всеми проверяемыми свойствами, если какие-либо из них изменятся.

Что произойдет, если вы не настроите прослушиватель envers для пост-вставки?

Я имею в виду, если вы удалите прослушиватель после вставки из вашего конфига?

 <listener class="org.hibernate.envers.event.AuditEventListener" type="post-insert"/>
Другие вопросы по тегам