我读到了标题中的错误,但我无法找到合适的解决方案,我有以下关系:
@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]&#34;
任何解释?
答案 0 :(得分:0)
看来此问题已在休眠版本5.0.10、5.1.1和5.2.0中修复。这里的更多信息:https://hibernate.atlassian.net/browse/HHH-10476