是的,如果这是唯一放慢参数构建的PK,你可以做这样的
public class Employee implements Serializable {
@Id
@Column(name="person_id")
private Long personId;
@JoinColumn(name = "person_id")
private Person person;
但是,如果是这样的话是没有用做的,如果员工有相同的主键然后他们应该在同一个表中,不需要将它们分开在两个表中。
在我们所处理的含有人那么我们需要创建一个embedable键复合主键的情况下:
@Embeddable
public class CompositeKey{
@Column(name="person_id")
private Long personId;
... // other attributes
}
public class Employee implements Serializable {
@EmbeddedId CompositeKey employeeId;
@JoinColumn(name = "person_id")
private Person person;
另需注意,这里是你的关系的注释,你应该让你的人OneToOne注解参考:
@OneToOne
@JoinColumn(name = "person_id")
private Person person;
'Person'&'Employee' @OneToOne有关吗? – pirho