我读到了标题中的错误,但我找不到适合我的情况的解决方案,我有以下关系:
@Entity
public class Parent {
@OneToMany(fetch = FetchType.EAGER,mappedBy = "parent",cascade = CascadeType.MERGE)
@Fetch(FetchMode.SUBSELECT)
private List<Child> child;
}
@Entity
public class Child {
@EmbeddedId
@JsonIgnore
private CompositePK compositePK;
@MapsId("compositeId")
@ManyToOne
@JoinColumn(name = "PARENT_ID")
@JsonIgnore
private Parent parent;
@MapsId("AId")
@JoinColumn(name = "A_ID")
@OneToOne
private A a;
}
我的方法没有跨国,也没有打开会话,以下行在尝试合并父项并合并其子实体时抛出错误: parent= parentRepository.save(parent);
具有相同标识符值的不同对象已与会话关联:[....CompositePK@22bf8646]; 嵌套异常是 javax.persistence.EntityExistsException:具有相同标识符值的不同对象已与会话关联:.......CompositeMedicinePK@22bf8646]"
有什么解释吗?