2012-02-07 152 views
0

我想學習Hibernate,並且我無法解決設計問題。 我有頭和組類。我使用hibernate生成了下面列出的兩個表。多個外鍵映射

Table-Head 
id, int4, primary key 
name, varchar 50 
description, varchar 250 

Table-Group 
id, int4, primary key 
name, varchar 25 
description, varchar 250 

我只想問我該如何生成下面列出的HeadAndGroup表?我試圖把HeadAndGroup寫成單獨的課程,但我無法處理它。

Table HeadAndGroup (Many to Many) 
id , int4, primary key 
head_id , int4, foreign key -> head table 
group_id , int4, foreign key -> group table 


**head_id, group_id pair will be unique 

回答

1

您可以在Group@ManyToMany註釋添加Collection<Head> heads。然後Hibernate會爲你處理HeadAndGroup表。

@ManyToMany(
    targetEntity=Head.class, 
    cascade={CascadeType.PERSIST, CascadeType.MERGE} 
) 
public Collection getHeads() { 
    return heads; 
} 

查看詳情,請看here

+0

是的,它用head_id和group_id對創建表。 但我需要一個更多的id(主鍵)attribure。如何處理這個問題? 順便說一下,head_id和group_id對是唯一的嗎? – med 2012-02-07 12:40:01

+0

您不能將其他列添加到休眠生成的表中。要添加另一列,請查看http://stackoverflow.com/a/1168740/643109 – 2012-02-07 15:30:07

+0

這就是答案。謝謝:) – med 2012-02-07 17:34:58