gpt4 book ai didi

spring-data-jpa - 如何使用 Spring Data JPA 将 OneToMany 关系中的更改审计为拥有实体?

转载 作者:行者123 更新时间:2023-12-03 15:03:25 26 4
gpt4 key购买 nike

我已成功在实体中设置 JPA 审计。只要实体本身的数据发生变化,它就可以正常工作。但是,该实体包含一个@OneToMany 集合,我想要拥有实体的 @LastModifiedBy字段也会在仅子行更改时更新。如果可能,我不想为每一行添加审计字段。

父级关系的定义:

@Entity
@EntityListeners(AuditingEntityListener.class)
public class DataHead {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

@CreatedBy
private String creatorUser;

@CreatedDate
private Date createdDate;

@LastModifiedBy
private String modifierUser;

@LastModifiedDate
private Date modifiedDate;

@OneToMany(mappedBy="dataHead", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval=true)
@Fetch(FetchMode.SUBSELECT)
@Valid
private List<DataRow> rows = new AutoPopulatingList<DataRow>(DataRow.class);
...
}

尝试添加 @EntityListeners到子实体,没有帮助。

我使用 spring-data-jpa 1.9.4 和 Hibernate 4.3.11 作为实现。

最佳答案

作为解决方法,您可以尝试向表中添加其他字段并通过 JPA @Version 对其进行注释。

@Version
@Column
private int version;

关于spring-data-jpa - 如何使用 Spring Data JPA 将 OneToMany 关系中的更改审计为拥有实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38174508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com