【发布时间】:2019-01-28 17:55:56
【问题描述】:
所以我有两个实体类,Subscription 和 MailDetail。它们之间存在一对一的关系。 这是课程 -
Subscription.class-
@Data
@Entity
@AllArgsConstructor
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
public class Subscription {
@Id
@GeneratedValue(strategy =`enter code here` GenerationType.SEQUENCE, generator = "subscription_subscription_id_seq")
@SequenceGenerator(initialValue = 1, allocationSize enter code here= 1, name = "subscription_subscription_id_seq", sequenceName = "subscription_subscription_id_seq")
@Column
private Long subscriptionId;
@Column
private String template;
@Column
private String fileFormat;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "mail_id", referencedColumnName = "mail_id")
private MailDetail mailDetail;
}
MailDetail.class -
@Data
@Entity
@Audited
public class MailDetail {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mail_detail_mail_id_seq")
@SequenceGenerator(initialValue = 1, allocationSize = 1, name = "mail_detail_mail_id_seq", sequenceName = "mail_detail_mail_id_seq")
@Column
private Long mailId;
@Column
private String emailId;
}
因此这会创建两个审计表,subscription_aud 和 mail_detail_aud。 mail_detail 表中的创建/更新仅通过订阅存储库完成。所以我的要求是,每当 mail_details 表的字段发生变化时,我都需要在 subscription_aud 中添加一个审计条目。或者基本上我希望 mail_detail 表的更改被视为订阅表的更改。
我正在使用休眠环境进行审计。我怎样才能做到这一点?
【问题讨论】:
-
@查看MappedSuperClass了解更多详情。
-
我读过。这有什么帮助?
标签: java spring hibernate jpa hibernate-envers