2011-09-19 161 views
0

我需要你的幫助。由參考表屬性映射的表中的2個屬性

我想映射我的對象與休眠和jpa。

我有2個表,參考和人(例如)

 the attributs of reference are (id_ref, description_ref) 
     the attributes of person are : id_person,addresse,colorEyes,jobetc). 

和地址是一個字符串,但所有的人都INT。 現在colorEyes和工作的2個INT值指的是2型動物在引用表詮釋與

 person.colorEyes=reference.id_ref and person.job=reference.id_ref , those id_ref are not the same for colorEyes and job. 

我想引用和人表之間的關係圖,是有可能做到這一點與休眠和JPA註解?我應該把兩個oneToOne類型的關係嗎?即使這兩個屬性都被引用表所關注?我找到了selectedtable註釋,但他們總是談論不同的表格,這兩個屬性之間並不總是相同的。

如果不可能的話是否有使用別名?還是應該去HQL?

什麼會很helpful.tanks

回答

1

我不認爲休眠將有以下任何問題......我用一個多對一沒有OneToOne作爲

@ManyToOne(...) 
@JoinColumn(name="colorEyes") 
public Reference getColorEyes() { 
    return company; 
} 

@ManyToOne(...) 
@JoinColumn(name="jobetc") 
public Reference getJobEtc() { 
    return company; 
} 

公告我認爲多人可以擁有相同的眼睛顏色。

但是,您可能想要真正考慮將參考表分成多個表,每種類型的數據一個表。這會更好DB表格Third Normal Form

這也會使您的代碼更具可讀性,因爲您將擁有用於保存EyeColor和JobEtc的不同類。