2011-05-18 66 views
0

我無法弄清楚如何組織項目類...的Eclipse + Hibernate的春天+質疑

我需要顯示所有工人與他們的專業(類)的歷史。

我在DB 3個表: 工人:ID,姓名,地址 特長:ID,描述 Worker_Type:id_worker,id_specialty,HIRE_DATE

我:

class Specialty 
{ 
    ... 
} 

class Worker 
{ 
    private List<Specialty> history; 
    ... 
} 

我怎麼能將專業(班級)映射到兩個表格(Specialty和Worker_Specialty)以獲取關於員工包含歷史記錄的所有信息?

也許我必須創建一個類SpecialtyHistory並將其映射到Worker_Specialty?

回答

5

您所描述的稱爲三元關聯,或者換句話說,是一種多對多的關係,包括添加關係本身的信息。有三種方法可以映射三元關聯,其中一種方法就是像上面提到的那樣創建一個SpecialtyHistory類,將關係視爲一流的實體。如果您不需要hire_date,則可以使用普通的多對多映射。

Hibernate文檔包含關於ternary associations的其他信息。

以前的一些StackOverflow問題:hibernate: ternary association mappingTernary (and n-ary) relationships in Hibernate