【发布时间】:2018-09-04 19:57:45
【问题描述】:
我读到了标题中的错误,但我找不到适合我的情况的解决方案,我有以下关系:
@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]"
有什么解释吗?
【问题讨论】:
标签: hibernate jpa spring-data hibernate-5