我遇到以下多对多关系的问题
两个实体Person and Group
在人物中的映射
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "person_group",
joinColumns = {@JoinColumn(name = "person_id")},
inverseJoinColumns = {@JoinColumn(name = "group_id")})
private Set<Group> groups = new HashSet<>();
组中的映射
@ManyToMany(mappedBy = "groups" , fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
@JsonIgnore
public Set<Person> getPeople() {
if (people == null){
people = new HashSet<>();
}
return people;
}
我们有一个用于插入,更新人员的春季批处理作业
一开始我们使用原始sql来保存所有潜在的组,因为这是预定义的参考数据。
对于每个人,我们按ID获得一个组,并在两个方向上关联人员和组。
在批处理作业结束时,我们保存并刷新人员列表。
问题是我们最终会在Group表中找到重复的条目。
非常感谢任何帮助。
由于