问题描述
我有两个类 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;
}
@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 (将#修改为@)