4

「コレクション」をマップしたい。コレクションは、ユーザーが必要に応じてグループ化できるアイテムのグループです。

@Entity 
class Item {
  Long id;
  String name
}

@Entity 
class MyCollection {
  Long id;
  String name;

  @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
  Set<Item> items;
}

Itemユーザーは、 「foo」という名前を「MyCollection」の名前「bar」と「MyCollection」の名前「bar2」に入れることができるはずです。

JPA/Hibernate が作成している結合テーブルには、MyCollection_Item4 つのインデックス、PK ( MyCollection_id, Item_id)、一意のインデックス ( Item_id)、および 2 つの外部キーがあります。

に一意のインデックスを作成したくありませんItem_id。これにより、次のことができなくなります。

MyCollection_id, Item_Id

1, 1

1, 2

2, 1

このタイプのマッピングが可能であると確信していますか? どんな助けでも大歓迎です。

4

2 に答える 2

1

ManyToMany が必要ですが、OneToMany としてマップされています。

于 2013-02-14T16:06:43.280 に答える