OneToManyJoin中的Cascade.ALL。 javax.persistence.EntityExistsException:相同的标识符值已与会话关联

时间:2018-03-09 11:53:01

标签: java hibernate java-ee hibernate-5.x

我有一个具有一对多连接的分离实体。

@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属于类 Entity1 时,entityManager落到已加入实体列表中,从数据库加载它们,合并它们,但显然合并的 Entity2 对象的结果未分配给新 entity1Merged 的列表 listOfEntities

1 个答案:

答案 0 :(得分:0)

我是hibernate版本5.2.12中的一个错误,跟踪问题https://hibernate.atlassian.net/browse/HHH-12054并从版本5.2.13 +解决。