无法使用session.delete()删除实体

时间:2011-03-28 13:42:06

标签: hibernate many-to-many associations

我的应用程序中有一些实体,其中一些是多对多关联,当我尝试删除它时,我收到错误:“无法删除或更新父行:外键约束... 。“

这是一个例子:

class Task{
  @OneToMany(mappedBy="task")
  List<TaskStep> steps;
}
class TaskStep{
  @ManyToOne(cascade=CascadeType.ALL)
  Task task;
  @ManyToMany(cascade=CascadeType.ALl)
  List<Operator> operators
}
class Operator{
  @ManyToMany(mappedBy=opertors)
  List<TaskStep> steps;
}

当我想删除任务对象时,我会得到异常。

为什么呢?我只想删除任务对象本身,以及t_taskstep_t_operator中的相关行。

如何制作?

1 个答案:

答案 0 :(得分:0)

试试这个,

class Task{
  @OneToMany(cascade = CascadeType.ALL)
  List<TaskStep> steps;
}

它也会从TaskStep中删除相应的条目。