我们有一个使用双时态数据跟踪所有实体变化的应用程序。每个实体都有:
@Embeddable
public class AuditInfo {
private Date effectiveFrom;
private Date effectiveTo;
private Date asOf;
private Boolean isCurrent;
}
但是,在更新实体时,我们希望插入一条新记录并使用 isCurrent = false 更新旧记录,并使用当前日期时间更新 EffectiveTo 日期。
我可以用 Spring Jpa-Envers 实现这一点吗?
我尝试连接 Hibernate 拦截器,后来意识到我只能从拦截器中修改实体字段,除此之外别无他法。
我可以轻松地添加一个服务层来实现这一点,但听起来它不属于服务,因为它是一个横切关注点。
我们正在玩的另一个是自定义存储库并覆盖 save() 方法。
很感激你的想法。