2013-11-21 6 views
1

Я работаю над проектом, использующим hibernate envers, чтобы использовать базу данных аудита. Я могу видеть записи аудита в базе данных аудита успешно. Сущности, которые я использую, имеют два столбца, которые хранятся идентификатор пользователя регистратора и идентификатор пользователя обновления для этого объекта.Hibernate envers как обновить запись удаления

Я могу видеть запись аудита для удаления в базе данных аудита, однако я ожидал обновления идентификатора пользователя обновления после удаления, но идентификатор пользователя обновления не обновляется.

Мой вопрос: как я могу сделать идентификатор обновления записи удаления с идентификатором пользователя, который удаляет эту запись в моей базе данных. Возможно ли это с конфигурацией? Если не так, как это возможно?

С уважением.

ответ

0

После нескольких тестов я понял, что спящий режим использует AuditEventListener.

После расширения прослушивателя событий аудита и переопределения класса onPostDelete класса auditEventListener, я мог бы делать то, что я пытаюсь сделать. Запись аудита удаления может быть обновлена ​​путем обновления в этом методе.

С уважением

-1

Вы посмотрели руководство Envers?

http://docs.jboss.org/envers/docs/#revisionlog

довольно проста. Вам просто нужен механизм, чтобы получить ручку на вашем пользователе в User Lister.

@Entity 
@RevisionEntity(ExampleListener.class) 
public class ExampleRevEntity extends DefaultRevisionEntity { 
    private String username; 

    public String getUsername() { return username; } 
    public void setUsername(String username) { this.username = username; } 
} 



public class ExampleListener implements RevisionListener { 
    public void newRevision(Object revisionEntity) { 
     ExampleRevEntity exampleRevEntity = (ExampleRevEntity) revisionEntity; 

     User user = //get logged in user from some context. 
     exampleRevEntity.setUsername(user.getUsername()); 
    } 
} 
+0

Это не позволяет получить доступ к историческим таблицам, только revinfo таблицы – FazoM

+0

@FazoM. Сдвиг? Я абсолютно не знаю, о чем вы заблудились ... –

+0

Тогда не отправляйте ответы, если вы понятия не имеете. ;) – FazoM

Смежные вопросы