Java JPA:非唯一性“;“OneToMany”;收集

Java JPA:非唯一性“;“OneToMany”;收集,java,hibernate,jpa,Java,Hibernate,Jpa,我想画一幅“收藏”地图。集合是一组项目,用户可以根据自己的意愿对其进行分组 @Entity class Item { Long id; String name } @Entity class MyCollection { Long id; String name; @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) Set<Item> items; } @实体 类项目{ 长id

我想画一幅“收藏”地图。集合是一组项目,用户可以根据自己的意愿对其进行分组

@Entity 
class Item {
  Long id;
  String name
}

@Entity 
class MyCollection {
  Long id;
  String name;

  @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
  Set<Item> items;
}
@实体
类项目{
长id;
字符串名
}
@实体
类MyCollection{
长id;
字符串名;
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
设置项目;
}
用户应该能够将
名称“foo”放入'MyCollection'名称“bar”和'MyCollection'名称“bar2”

JPA/Hibernate为我创建的联接表,
MyCollection\u Item
有4个索引、PK(
MyCollection\u id,Item\u id
)、唯一索引(
Item\u id
)和2个外键

我不希望它在
Item\u id
上创建唯一索引。这使我无法:

MyCollection\u id,Item\u id

1,1

1、2

2,1


我确信这种类型的映射一定是可能的?任何帮助都将不胜感激。

您需要多个对象,但已将其映射为一个对象。

一个对象是指您希望将一个对象映射到多个对象

ManyToMany是指当您想要将many对象映射到many对象时(就像您在这里尝试的那样)