【问题标题】:JPA and a set of enum valuesJPA 和一组枚举值
【发布时间】:2012-06-07 00:07:57
【问题描述】:

有没有一种简单的方法可以使用 JPA(使用 Hibernate)来存储一组枚举项? 列表中不能有重复项。 我目前正在尝试:

public EnumSet<MediaRole.MediaRoleEnum> mediaRoles;

但这在访问字段时返回一个空指针。

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    只需使用:

    List<MediaRole.MediaRoleEnum> mediaRoles;
    Set<MediaRole.MediaRoleEnum> mediaRoles;
    

    取决于您的需求。检查Which Java Type do you use for JPA collections and why?

    在映射文件中:

    <attributes>
        <element-collection name="mediaRoles"/>
    </attributes>
    

    如果你使用注解,就使用等价的:

    @ElementCollection
    List<MediaRole.MediaRoleEnum> mediaRoles;
    

    【讨论】:

    • 我不想重复,使用列表将允许这样做。如果使用上述方法,是否有一种简单的方法可以防止这种情况发生,因为一段时间内对列表使用 getter 和 setter 并没有帮助。
    • 另外,你应该更新你关于不重复的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2010-10-25
    • 2012-08-22
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    相关资源
    最近更新 更多