У нас есть приложение, которое отслеживает все изменения сущностей с помощью двухвременных данных. Каждая сущность имеет:
@Embeddable
public class AuditInfo {
private Date effectiveFrom;
private Date effectiveTo;
private Date asOf;
private Boolean isCurrent;
}
Однако при обновлении объекта мы хотели бы вставить новую запись и обновить старую с помощью isCurrent = false, а также обновить дату EffectiveTo на текущую дату и время.
Могу ли я добиться этого с помощью Spring Jpa-Envers?
Я пробовал подключать перехватчики Hibernate, но позже понял, что могу изменять поля сущностей только внутри перехватчика и больше ничего делать не могу.
Я легко могу добавить уровень сервиса, который достигнет этого, но это звучит так, как будто он не принадлежит сервису, поскольку это сквозная проблема.
Другой, с которым мы играем, - это иметь собственный репозиторий и переопределять метод save ().
Был бы признателен за ваши мысли.