Как добавить строку аудита в таблицу аудита, используя данные весны jpa - PullRequest
0 голосов
/ 13 марта 2020

У меня есть таблица «пользователь» в любое время, если строка вставлена, обновлена ​​или удалена, тогда мне нужно вставить строку в таблицу «user_audit» со всеми пользовательскими данными и столбцами действий, чтобы отметить выполненное действие.

Я использую подпружиненную партию, данные пружины JPA для вставки данных в пользовательскую таблицу

Как я могу реализовать это в пружинной партии, используя пружинные данные JPA или есть какая-либо реализация, предоставляемая JPA / hibernate?

1 Ответ

1 голос
/ 13 марта 2020

Если вы используете Hibernate, вы можете использовать Envers , который предлагает:

  • Аудит всех сопоставлений, определенных в спецификации JPA

  • Аудит некоторых отображений Hibernate, расширяющих JPA, например, пользовательских типов и коллекций / карт «простых» типов, таких как Strings, Integers.

  • Регистрация данных для каждой ревизии с использованием «объект правки»

  • Запрос исторических снимков объекта и его ассоциаций

Однако Envers будет проверять только изменения, произошедшие в Hibernate ,

Если, например, вы используете собственные запросы JPA или JDB C API, эти изменения не будут проверяться. Вот почему зачастую безопаснее определить триггеры базы данных, которые будут выполнять аудит. Здесь и здесь - это PostgreSQL пример.

...