【问题标题】:@ManyToMany annotated list of strings? Is it ever possible?@ManyToMany 带注释的字符串列表?有可能吗?
【发布时间】:2011-10-25 13:41:12
【问题描述】:

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

@ManyToMany
@JoinTable(name="users2roles")
private Collection<String> roles;

缺少目标表的名称。我在互联网上搜索,但没有找到。我不想创建特殊的实体类来包装一个字符串值。有没有其他方法,不是吗?

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

【问题讨论】:

    标签: jpa


    【解决方案1】:

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

    【讨论】:

    • 好的,谢谢。所以我需要创建一个实体。我可以将@ManyToOne 用于字符串字段吗?
    • 没有。如上所述,您将该字段标记为@ElementCollection/CollectionTable。看你对 relations 使用 OneToOne,OneToMany,ManyToOne,ManyToMany,String 不是关系。
    猜你喜欢
    • 2021-10-30
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多