Cascade.ALL 在 OneToManyJoin 中。 javax.persistence.EntityExistsException: 相同的标识符值已与会话相关联
Cascade.ALL in OneToManyJoin. javax.persistence.EntityExistsException: same identifier value was already associated with the session
我有一个带有一对多连接的独立实体。
@Entity
@Table("t1")
class Entity1 implements Serializable {
...
@OneToMany(cascade=CascadeType.ALL)
@JoinColumns({
@JoinColumn(name="FIELD_1", insertable = false, updatable = false, referencedColumnName = "FIELD_1"),
@JoinColumn(name="FIELD_2", insertable = false, updatable = false, referencedColumnName = "FIELD_2")
})
public List<Entity2> getListOfEntities() {
return listOfEntities;
}
}
@Entity
@Table("t2")
class Entity2 implements Serializable {
...
}
当我调用 entity1Merged = entityManger.merge(entity1)
时,其中 entity1 属于 class Entity1,其中 entityManager
落入加入列表实体,从数据库加载它们,合并它们,但显然合并的结果 Entity2 对象没有被分配到列表 listOfEntities新 entity1Merged.
我是 hibernate 5.2.12 版中的一个错误,已跟踪问题 https://hibernate.atlassian.net/browse/HHH-12054 并已从 5.2.13+ 版解决。
我有一个带有一对多连接的独立实体。
@Entity
@Table("t1")
class Entity1 implements Serializable {
...
@OneToMany(cascade=CascadeType.ALL)
@JoinColumns({
@JoinColumn(name="FIELD_1", insertable = false, updatable = false, referencedColumnName = "FIELD_1"),
@JoinColumn(name="FIELD_2", insertable = false, updatable = false, referencedColumnName = "FIELD_2")
})
public List<Entity2> getListOfEntities() {
return listOfEntities;
}
}
@Entity
@Table("t2")
class Entity2 implements Serializable {
...
}
当我调用 entity1Merged = entityManger.merge(entity1)
时,其中 entity1 属于 class Entity1,其中 entityManager
落入加入列表实体,从数据库加载它们,合并它们,但显然合并的结果 Entity2 对象没有被分配到列表 listOfEntities新 entity1Merged.
我是 hibernate 5.2.12 版中的一个错误,已跟踪问题 https://hibernate.atlassian.net/browse/HHH-12054 并已从 5.2.13+ 版解决。