【发布时间】:2013-02-19 11:49:26
【问题描述】:
我的要求是当我删除父级时,不应该删除子级,而是删除子级,子列department_ID 之一是外键必须更新一些值,比如一个部门(父表)包含许多员工和员工(子表)表都有Department_ID作为外键列。当我删除父表时,我面临的问题没有任何反映在子表上,因为我已经制作了updatable=false,如果我让它成为真的那么删除父列,子列设置为空,或者如果我更新父列,那么子Department_Id 列也设置为空,这违反了要求,所以这就是为什么我将其设为假。我不希望在父生成时更新子列任何更改仅应反映在删除操作上,仅反映在一列上。请帮帮我我该怎么办?谢谢
这是我的父表部门代码
@Id
@Column(name = "DEPARTMENT_ID")
private String departmentId;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "DEPARTMENT_ID",insertable=false,updatable=false)
Collection<Employee> employeeList;
这是我的孩子 Table 员工
@Id
@Column(name = "EMPLOYEE_NUMBER")
private int employeeNumber;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "LAST_NAME")
private String lastName;
@Column(name = "DEPARTMENT_ID")
private String departmentId;
【问题讨论】:
标签: hibernate hibernate-mapping hibernate-annotations