跟踪头细节关系中的更改

tvz2xvvm  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(309)

我与两类loan和loanguarantors有一个标题详细信息关系,loan类如下所示:

  1. @Entity
  2. @Table(name = "LOAN")
  3. @Getter
  4. @Setter
  5. @Builder
  6. @AllArgsConstructor
  7. @NoArgsConstructor
  8. public class Loan extends BaseEntity {
  9. @ManyToOne(fetch = FetchType.LAZY)
  10. @JoinColumn(name = "USER_ID", updatable = false, nullable = false)
  11. private User user;
  12. @Column(name = "AMOUNT", nullable = false)
  13. private Double amount;
  14. @Enumerated
  15. @Column(name = "LOAN_TYPE", columnDefinition = "smallint", nullable = false)
  16. private LoanType loanType;
  17. @Enumerated
  18. @Column(name = "LOAN_STATUS", columnDefinition = "smallint", nullable = false)
  19. private LoanStatus loanStatus;
  20. }

loanguarantor类的定义如下:

  1. @Entity
  2. @Table(name = "LOAN_GUARANTORS")
  3. @Getter
  4. @Setter
  5. @AllArgsConstructor
  6. @NoArgsConstructor
  7. public class LoanGuarantors extends BaseEntity {
  8. @ManyToOne(fetch = FetchType.LAZY)
  9. @JoinColumn(name = "GUARANTOR_ID", updatable = false, nullable = false)
  10. private User guarantor;
  11. @ManyToOne(fetch = FetchType.LAZY)
  12. @JoinColumn(name = "LOAN_ID", updatable = false, nullable = false)
  13. private Loan loan;
  14. @Column(name = "GUARANTE_AMOUNT", nullable = false)
  15. private Double guaranteAmount;
  16. }

当loanstatus在loan表中提交更改时,我想在audit表中保留具有相同版本的记录(包括loan、loanguarantor)的历史记录(假设每个记录都有一个audit表,例如,loan\u audit和loan\u guarantor\u audit)。这个问题有什么合适的解决办法?我在考虑hibernate envers或其他cdc解决方案,比如debezium,但问题是当loan表中发生更改时,它们只跟踪loan表,而不跟踪它们之间的关系。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题