2012-02-07 4 views
0

私はHibernateを学習しようとしており、私は設計上の問題を解決できません。 私は頭部とグループのクラスを持っています。私は、以下の2つのテーブルを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

あなたは@ManyToManyアノテーションであなたのGroupクラスの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のペアを持つテーブルを作成します。 しかし、もう1つid(主キー)属性が必要です。これはどのように処理できますか? Btw、head_idとgroup_idのペアは一意ですか? – med

+0

他の列をhibernate生成テーブルに追加することはできません。別の列を追加するには、答えはhttp://stackoverflow.com/a/1168740/643109 –

+0

です。ありがとう:) – med

関連する問題