首页 > 解决方案 > 不删除时,已删除的对象将被级联重新保存

问题描述

我已经看到了几个答案,但没有一个能解决我的问题。

org.hibernate.ObjectDeletedException:已删除的对象将被级联重新保存(从关联中删除已删除的对象):

org.hibernate.ObjectDeletedException:删除的对象将被级联重新保存:尝试删除患者对象时出错

我什至没有尝试删除,但我将状态设置为-1,并且在应用程序的其他地方,对象根据其状态过滤,因此必须是删除。

我正在尝试将 user.status 设置为 -1

        user.setType(-1);
        userService.updateUser(user);   

用户在其类中有这个

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "user_id", updatable = false)
@LazyCollection(LazyCollectionOption.FALSE)
private List<UserGroupMembership> groupMemberships = new ArrayList<UserGroupMembership>();

这是在 UserGroupMembership 中

@ManyToOne(fetch = FetchType.LAZY)
@Fetch(value = FetchMode.JOIN)
@JoinColumn(name = "user_id", insertable = false, updatable = false)
@LazyCollection(LazyCollectionOption.FALSE)
private UserPreview user;

错误是

deleted object would be re-saved by cascade (remove deleted object from associations): [server.model.dao.entities.UserGroupMembership#22]; nested exception is
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):

任何人都可以帮忙吗?

标签: hibernate

解决方案


我正在更新的实体有一些缺失的属性,这些属性正在被删除,我通过重新获取实体重新连接了这些属性,这很好。


推荐阅读