添加orphanRemoval属性后的休眠异常

时间:2020-04-27 19:05:33

标签: java hibernate jpa

因此,在我的一个实体中将orphanRemoval = true添加到@OneToMany关系后,尝试保存新实体或删除引用了orphanRemoval = true的现有实体时,出现以下异常属性。

我得到的例外是:

拥有实体实例不再引用具有cascade =“ all-delete-orphan”的集合:fully.qualified.path.to.the.property.with.orphanRemoval.setToTrue

像这样指定一对多关系:

  @OneToMany(
  targetEntity = MyEntity.class,
  fetch = FetchType.LAZY,
  mappedBy = "mappingField_",
  orphanRemoval = true,
  cascade = CascadeType.ALL)
  private List<MyEntity> myEntities_= new ArrayList<>();

尝试保存和刷新实体时出现异常:

myEntityRepository_.saveAndFlushAndRefresh(myEntityInstance);

我找不到很多有关此的信息。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题,原因是我创建了新的子实体并在其中引用了父实体,然后我将使用setter设置父实体的子实体,这将导致先前持久化的子实体被取消引用。并导致上述异常。