我有一个部门实体,其关系如下:
@ManyToOne @JoinColumn(name = "ik_parent_department_id") private Department parentDepartment;
@OneToMany(mappedBy = "parentDepartment") private Set<Department> children = new HashSet<Department>(0);
我想实现下一个:当我 删除 一个 部门 ,那么 ik_parent_department_id 所有的参数 孩子 这个的 部门 设置为 空 。任何想法如何做到这一点?
您必须将子级的ik_parent_department_id显式设置为null。
ik_parent_department_id
Department parentDepartment = (Department) session.load(Department.class, id); session.delete(parentDepartment); for (Department child : parentDepartment.getChildren()){ child.setParentDepartment(null); } session.flush();
进行级联时,您只能删除子级Departments。
Departments