В моем проверенном объекте у меня есть поля:
@LastModifiedBy
private String lastModifiedBy;
@LastModifiedDate
private OffsetDateTime lastModifiedDate;
Но они не меняются при удалении объекта. Как я понимаю, мне нужно настроить org.springframework.data.jpa.domain.support.AuditingEntityListener
и добавить туда @PreRemove
, но я не понимаю, как это реализовать, потому что у меня всегда есть
org.hibernate.InstantiationException: Could not instantiate managed bean directly
Существуют ли другие варианты отслеживания событий удаления и сохранения обновленных полей в таблице аудита Envers?
@PreRemove
состоит в том, чтобы изменить текущее состояние объекта в памяти до прослушивателей событий для аудита. Тем не менее, Envers по умолчанию не хранит атрибуты непервичного ключа для удаленных строк. Существует параметр конфигурацииorg.hibernate.envers.store_data_at_delete
, для которого необходимо установить значение true, чтобы выполнить это. - person Naros   schedule 27.11.2019