Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa @许多带注释的字符串列表?有可能吗?_Jpa - Fatal编程技术网

Jpa @许多带注释的字符串列表?有可能吗?

Jpa @许多带注释的字符串列表?有可能吗?,jpa,Jpa,我有用户,每个用户都有几个角色。角色和用户处于多对多关系中。但这个角色只是一个名字。我陷入了这个阶段: @ManyToMany @JoinTable(name="users2roles") private Collection<String> roles; @manytomy @JoinTable(name=“users2roles”) 私人收藏角色; 缺少目标表的名称。我在网上搜索,但什么也没找到。我不想创建特殊的实体类来包装一个字符串值。还有别的办法吗 有没有办法让它工作或者

我有用户,每个用户都有几个角色。角色和用户处于多对多关系中。但这个角色只是一个名字。我陷入了这个阶段:

@ManyToMany
@JoinTable(name="users2roles")
private Collection<String> roles;
@manytomy
@JoinTable(name=“users2roles”)
私人收藏角色;
缺少目标表的名称。我在网上搜索,但什么也没找到。我不想创建特殊的实体类来包装一个字符串值。还有别的办法吗


有没有办法让它工作或者让JPA me创建一个新的实体?

字符串集合并没有将一个对象与另一个对象关联起来,所以不能是@OneToMany或@ManyToMany-应该是@ElementCollection。这是字符串的集合,仅此而已。是的,它可以存储在联接表中,但使用@CollectionTable。

字符串集合不将一个对象与另一个对象关联,因此不能是@OneToMany或@ManyToMany-应该是@ElementCollection。这是字符串的集合,仅此而已。是的,它可以存储在联接表中,但使用@CollectionTable。

好的,谢谢。所以我需要创建一个实体。我可以使用
@ManyToOne
作为字符串字段吗?不可以。如上所述,您可以将该字段标记为@ElementCollection/CollectionTable。听着,你用OneToOne,OneToMany,manytone,ManyToMany表示关系,字符串不是关系。好的,谢谢。所以我需要创建一个实体。我可以使用
@ManyToOne
作为字符串字段吗?不可以。如上所述,您可以将该字段标记为@ElementCollection/CollectionTable。看,你用OneToOne,OneToMany,manytone,ManyToMany表示关系,字符串不是关系。