尝试更新我的实体时遇到以下问题:
"A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance".
我有一个父实体,并且有Set<...>一些子实体。当我尝试更新它时,我将获取所有要设置为此集合的引用并进行设置。
Set<...>
以下代码表示我的映射:
@OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER) @Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN }) public Set<ChildEntity> getChildren() { return this.children; }
根据此,我尝试仅清理Set <..>:如何“可能”解决问题,但没有成功。
如果您有任何想法,请告诉我。
谢谢!
实际上,我的问题是关于实体的等于和哈希码。遗留代码会带来很多问题,永远不要忘记对其进行检查。我所做的只是保留删除孤岛策略并更正equals和hashcode。