是的,如果這是唯一放慢參數構建的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