Как получить доступ к предыдущему состоянию Entity? - PullRequest
4 голосов
/ 16 декабря 2011

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

К настоящему времени мне удалось использовать:

@EntityListeners(AuditListener.class)
@Entity
public class Entity1{...}

и

public class AuditListener {
@PostPersist
@PostUpdate
public void setUserInformation(Object entity) {...}
}

Теперь я хотел бы получить способ прочитать Предыдущее состояние объекта, чтобы я мог сравнить его с текущими значениями и записать в таблицу аудита поля, новые значения и пользователя, который выполнил изменения.

Я знаю, что мог бы использовать @ PostLoad и сохранить в памяти предыдущее состояние, но я думаю, что должен быть более общий способ сделать это (менее жестко).

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

1 Ответ

0 голосов
/ 06 января 2012

Roolback не возвращает объект в его предварительно обновленное / предварительно сохраненное состояние, он отменяет любые изменения в базе данных. Я думаю, что такого объекта нет в контексте постоянства. Я думаю, что вы должны использовать аспект.

...