gpt4 book ai didi

java - 在 Hibernate 中删除父子对象时出现问题 "deleted object would be re-saved by cascade"

转载 作者:行者123 更新时间:2023-12-01 15:08:59 25 4
gpt4 key购买 nike

我有以下两个实体:

1-交易

@OneToMany(cascade=CascadeType.ALL,mappedBy = "deal", fetch = FetchType.EAGER)
@Fetch( FetchMode.SELECT)
private List<DealCheckList> dealCheckList;

2- DealCheckList

@JoinColumn(name = "DEAL_ID", referencedColumnName = "DEAL_ID", insertable = false, updatable = false)
@ManyToOne(fetch = FetchType.LAZY)
private Deal deal;

在执行session.delete(deal)时,我收到以下错误

Caused by: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):

请帮忙。

最佳答案

这可能意味着您尝试删除的对象是其他集合的子对象。为对象设置cascade=“all”意味着它的子对象将被自动删除/更新,除非它们不属于其他某个父对象。

您必须从其父集合中删除要删除的对象。

示例:

objectBeingDeleted.getParent().getChildren().remove(objectBeingDeleted); 

然后你就可以做

session.delete(objectBeingDeleted);

祝你好运

关于java - 在 Hibernate 中删除父子对象时出现问题 "deleted object would be re-saved by cascade",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com