我需要从表EMPLOYEE创建一个表EMPLOYEE_REMARK。 并且需要使用Annotation Hibernate。
EMP_ID,EMP_FNAME,EMP_LNAME
EMP_REMARK_ID,EMP_ID,REMARK
它将是OnetoOne关系,即,对于每个EMP_ID,将有一个备注。 REMARK可以为空。
请帮我解决问题... 可以通过从员工创建一个类并从中填充EMPLOYEE_REMARK来完成吗???
答案 0 :(得分:0)
基本上这就是做你想做的事的方式。
@Entity
@Table(name = "EMPLOYEE")
public class Employee implements Serializable {
@Id
@Column(name = "EMP_ID")
private Long id;
@Column(name = "EMP_FNAME")
private String firstName;
@Column(name = "EMP_LNAME")
private String lastName;
@OneToOne(mappedBy = "employee", cascade = CascadeType.ALL,
orphanRemoval = true)
private EmployeeRemark employeeRemark;
public void setRemark(String remark) {
this.employeeRemark = new EmployeeRemark();
this.employeeRemark.setRemark(remark);
this.employeeRemark.setEmployee(this);
}
public String getRemark() {
return employeeRemark == null ? null : employeeRemark.getRemark();
}
//getters and setters
}
@Entity
@Table(name = "EMPLOYEE_REMARK")
public class EmployeeRemark implements Serializable {
@Id
@Column(name = "EMP_REMARK_ID")
private Long id;
@OneToOne
@JoinColumn(name = "EMP_ID")
private Employee employee;
@Column(name = "REMARK")
private String remark;
//getters and setters
}
保存员工时,只需为员工打电话保存即可。 EmployeeRemark将级联到所有操作,并将与员工一起删除,或者如果它以其他方式成为孤儿。