Можно ли использовать hibernate envers @Audited с помощью r2dbc?
Я надеюсь добиться аудита моих таблиц с помощью аннотации @Audited проекта Hibernate Envers, пока я использую Spring Data R2DBC или обычный R2DBC для вставки данных в мои таблицы.
Это даже возможно. Я не могу сказать, использует ли Spring Data R2DBC спящий режим вообще. Я попытался добавить аннотацию @Audited в свой класс сущностей, но безрезультатно.
this.fnclInfoRepository.save(itfnclinfo).subscribe();
@Data
@Builder
@Audited
public class Itfnclinfo implements Persistable<String> {
@Id
private String fnclInfoId;
..
}
Я ожидал новую таблицу, созданную hibernate с суффиксом _AUD, которая содержит копию всех вставленных данных
2 ответа
Я понимаю, что Spring Data JPA является абстракцией по сравнению с Hibernate, и поэтому Spring Data R2DBC не является абстракцией поставщика JPA и поэтому не имеет отношения к Hibernate. Мне придется придумать другой способ одитинга.
Spring data envers работает только с традиционным Spring Data JPA.
В проекте Spring Boot вы можете настроитьAuditEvent
иAuditEventRepository
и настройте журнал изменений вручную.
Проверьте документы Spring Boot — Аудит .
Возможно, потребуется дополнительная работа, хорошая часть заключается в том, что AuditEvent интегрирован с Spring Boot Actuator, вы можете отслеживать аудит по URL-адресам Actuator.