2017-08-05 19 views
0

2つのテーブル間に多対多の関係があります。これをアノテーション@ManyToManyを使ってマッピングします。多対多関係テーブルを持つエンティティHibernateマッピング

表1 --->リレーショナル表--->表2

私は私が持っているので、関係テーブルのための任意のエンティティを作成する必要はありません休止状態を使用します。

エンティティ1(表1)--->エンティティ2(表2)

しかし、私の問題は、私は別のテーブルを持っていると私は、この第3回の表と関係の間の関係をしなければならないということです前と私の間のテーブルには、関係を行うためのエンティティがありません。

表3 --->リレーショナル表

私は、この第3回表が

がどのように私は達成これをすることができます...私は前に使用し、リレーショナル表に外部キーを持って意味ですか?私の英語には申し訳ありません

ありがとう

答えて

0

ここは一例です。 は、我々はあなたが休止状態のコードの最初のアプローチを使用した2つの事業体の製品とカテゴリ

を持っ 製品とカテゴリを持っている想像し、エンティティは次のようになります。

@Entity 
@Table(name = "products") 
public class Product implements Serializable { 
private Long id; 
.... 

@ManyToMany 
@JoinTable(name = "categories_products", 
joinColumns = @JoinColumn(name = "category_id", 
referencedColumnName = "id"), 
inverseJoinColumns = @JoinColumn(name = "product_id", 
referencedColumnName = "id")) 
private Set<Category> categories; 
... 

そしてここでは、コード

のコードです
public class Category { 
private Long id; 
private String name; 
... 
} 

アノテーション@JoinTableを使用すると、次の制約を持つ3番目のテーブルが作成されます。 Products idを参照するcategory idとproduct_idを指すcategory_idを持ちます。

関連する問題