Как использовать аудит в JPA / Spring-Data JPA?

Я использую JPA & Spring-Data JPA в проекте. У меня есть одна таблица wherei вставить, а затем обновить данные. Однако мне нужна аудиторская информация для сохранения состояния всех объектов, т. е. мне нужна информация о состоянии insert и всех последующих обновлениях в другой таблице. Я знаю, что могу использовать триггеры в базе данных для этого. Однако можно ли это сделать с помощью JPA/Spring Data JPA?

любая помощь будет оценили.

2 ответов


JPA spec (3.5) определяет методы обратного вызова жизненного цикла:

  • prePersist
  • postPersist
  • preRemove
  • postRemove
  • preUpdate
  • postUpdate
  • postLoad

что, вероятно, самое близкое, что вы найдете в pure JPA. Сама SpringData имеет дополнительные возможности аудита, которые находятся на несколько более высоком уровне абстракции. Он описывает эти в разделе 2.4 справочник.