Java 使用Hibernate注释从父表创建和填充子表
我需要从表EMPLOYEE创建表EMPLOYEE\u备注。 并且需要使用Hibernate进行注释 雇员 EMP_ID,EMP_FNAME,EMP_LNAME 员工评语 EMP_备注_ID,EMP_ID,备注 这将是一种一刀切的关系,即,对于每个EMP_ID,将有一个备注。备注可以为空 请帮我解决这个问题。。。Java 使用Hibernate注释从父表创建和填充子表,java,hibernate,one-to-one,Java,Hibernate,One To One,我需要从表EMPLOYEE创建表EMPLOYEE\u备注。 并且需要使用Hibernate进行注释 雇员 EMP_ID,EMP_FNAME,EMP_LNAME 员工评语 EMP_备注_ID,EMP_ID,备注 这将是一种一刀切的关系,即,对于每个EMP_ID,将有一个备注。备注可以为空 请帮我解决这个问题。。。 可以通过从employee创建一个类并从中填充employee注释来完成吗?基本上,这里是实现您所需的方法 雇员 员工意见 保存员工时,只需调用save on employee即可。Em
可以通过从employee创建一个类并从中填充employee注释来完成吗?基本上,这里是实现您所需的方法 雇员 员工意见
保存员工时,只需调用save on employee即可。EmployeerMark将级联到所有运营部门,并将与员工一起删除,或者以其他方式成为孤儿。您的问题不太清楚。Hibernate不用于创建表。Hibernate用于访问表。你到底不懂什么?另外,请注意,在employee表中添加备注列会容易得多。如果我没有弄错的话,修改现有的附加员工的备注将导致异常。EmployeerMark实体必须以某种方式保持。嗯,我想到了,但不确定。也许修改当前备注是更好的解决方案?即使这样也不够,除非在创建员工后立即系统地创建备注(即,员工的构造函数应初始化其备注)。感谢您的回复…但问题是EmployeerMark的类型必须保留模式中指定的字符串。我可以保持EmployeerMark为字符串类型吗?
@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
}