2012-12-05 54 views
0

主鍵我有兩個實體類用戶和地址申報數據成員在休眠

@Entity 
class User 
{ 
    int id; 
    String name; 
} 

@Entity 
class Vehicle 
{ 
    @OneToOne 
    User user; 
    String vehName; 
} 

我要聲明在汽車類「用戶」數據成員作爲主要key..can誰能告訴我該如何解決?

+0

你嘗試谷歌的解決方案? –

+0

是的..我試過......但不幸的是找不到解決方案 – scanE

+1

你是否想使用'id'和'name'作爲複合鍵,或者'''''''''''''用戶'作爲外鍵? –

回答

0

the documentation解釋說:

最後,你可以讓Hibernate的標識,從另一個 相關實體複製。在Hibernate行話中,它被稱爲外部生成器,但JPA映射讀取更好,並受到鼓勵。

@Entity 
class MedicalHistory implements Serializable { 
    @Id @OneToOne 
    @JoinColumn(name = "person_id") 
    Person patient; 
} 

@Entity 
public class Person implements Serializable { 
    @Id @GeneratedValue Integer id; 
} 

或可替代

@Entity 
class MedicalHistory implements Serializable { 
    @Id Integer id; 

    @MapsId @OneToOne 
    @JoinColumn(name = "patient_id") 
    Person patient; 
} 

@Entity 
class Person { 
    @Id @GeneratedValue Integer id; 
}