Java 如何在hibernate中将manyTone设置为null

Java 如何在hibernate中将manyTone设置为null,java,hibernate,jpa,many-to-one,Java,Hibernate,Jpa,Many To One,我需要删除两个对象之间的关系,但在一侧设置为null后,在另一侧关系仍然存在。我怎样才能让它在第二面也消失? 我有任务和用户实体: @Entity @Table(name = "task") public class Task { @ManyToOne @JoinColumn(name = "user_id", foreignKey = @ForeignKey(name = "FK_task_user_id")) private User user; } 任务实体: @

我需要删除两个对象之间的关系,但在一侧设置为null后,在另一侧关系仍然存在。我怎样才能让它在第二面也消失? 我有任务和用户实体:

@Entity
@Table(name = "task")
public class Task {
    @ManyToOne
    @JoinColumn(name = "user_id", foreignKey = @ForeignKey(name = "FK_task_user_id"))
    private User user;
}
任务实体:

@Entity
@Table(name = "user")
public class User {

    @OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST, orphanRemoval = true)
    private List<Task> tasks;
}
初始任务分配给id为2的用户。下一个关系应该消失了,但当我调用findByTask方法时,它仍然返回id为2的用户。分配id为1的用户后,仍然findByTask返回id为2的用户。当我尝试从用户集合中删除任务时:

Task task = taskService.findById(6);
User user = task.getProcessingUser();
user.getProcessingTasks().remove(task);
userService.save(user);
task.setProcessingUser(null);
taskService.save(task);
我在userService.saveuser行上遇到错误:

javax.persistence.EntityNotFoundException:已删除的对象将由cascade重新保存从关联中删除已删除的对象:[org.kitodo.data.database.beans.Task6]

如何从任务中删除用户,但不从数据库中删除用户或任务

编辑
这里我找到了答案:-问题是正确的。

尝试从用户中删除任务对象。必须放弃所有引用,无论是哪种方式。像这样:

Task task = taskService.findById(6);
User user = task.getUser(); //HERE
user.getTasks().remove(task); //..and HERE
task.setUser(null);
taskService.save(task);

不幸的是,在taskService.savetask上仍然存在相同的异常。我不知道为什么会有被删除的对象,因为我并没有从数据库中删除任何对象。
Task task = taskService.findById(6);
User user = task.getUser(); //HERE
user.getTasks().remove(task); //..and HERE
task.setUser(null);
taskService.save(task);