如何解决跟踪标题-详细信息关系中的更改
我有两个类 Loan 和 LoanGuarantors 的 Header-Detail 关系,Loan 类如下所示:
@Entity
@Table(name = "LOAN")
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Loan extends BaseEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID",updatable = false,nullable = false)
private User user;
@Column(name = "AMOUNT",nullable = false)
private Double amount;
@Enumerated
@Column(name = "LOAN_TYPE",columnDefinition = "smallint",nullable = false)
private LoanType loanType;
@Enumerated
@Column(name = "LOAN_STATUS",nullable = false)
private LoanStatus loanStatus;
}
和 LoanGuarantor 类定义如下:
@Entity
@Table(name = "LOAN_GUARANTORS")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class LoanGuarantors extends BaseEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GUARANTOR_ID",nullable = false)
private User guarantor;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LOAN_ID",nullable = false)
private Loan loan;
@Column(name = "GUARANTE_AMOUNT",nullable = false)
private Double guaranteAmount;
}
当 LoanStatus 提交更改时,我想在审计表中保留具有相同版本的记录(Loan、LoanGuarantor)的历史记录(假设我们每个都有一个审计表,例如,loan_audit 和loan_guarantor_audit)在贷款表中。这个问题的合适解决方案是什么? 我在考虑 Hibernate Envers 或其他 CDC 解决方案(如 Debezium),但问题是当 Loan 表中发生更改时,它们只会跟踪 Loan 表,而不是它们的关系。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。