我是 Stackoverflow 的新手,所以我会尽量适应使用情况。我想知道是否有办法获取给定实体的更改/快照的完整列表。现在它适用于奇异属性的版本,以及对集合属性的添加和删除。但我无法找到集合属性中的子实体何时更新。
给定两个实体和一个 LinkEntity:
@Entity
class Person {
@Id
Long id;
@OneToMany(mappedBy = "person", cascade = CascadeType.ALL)
Set<LinkAddress> addresses;
}
@Entity
class Address {
@Id
Long id;
@OneToMany(mappedBy = "address")
Set<Address> persons;
}
@Entity
class LinkPersonAddress {
@Id
Long id;
@ManyToOne
@ShallowReference
Person person;
@ManyToOne
@ShallowReference
Address address;
String linkType;
}
我的用例如下。我通过 ID #1 获得了一个特定的人,然后改变了特定地址的类型(即 HOME --> WORK)。我用修改后的 Set 保存 Person 并让 JPA 级联我的更改。尽管 Person、Address 和 LinkPersonAddress 的所有 Spring Data Repositories 都使用 @JaversSpringDataAuditable 进行了注释,但我无法使用带有类 Person 和 Id #1 的 Javers QueryBuilder 检索此“更新”。这是有道理的,因为我应该改为查询类 LinkPersonAddress,但是我如何指定我只需要来自 LinkPersonAddress 的与 Id #1 相关的更改。
PS:请原谅代码片段中的任何拼写错误,因为我没有在我的开发环境中编写它。