java - JPA 和一组枚举值

标签 java hibernate jpa

是否有一种简单的方法来使用 JPA(使用 Hibernate)存储枚举项的集合/列表? 列表中不能有重复项。 我目前尝试:

public EnumSet<MediaRole.MediaRoleEnum> mediaRoles;

但是访问该字段时会返回空指针。

最佳答案

只需使用:

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;

关于java - JPA 和一组枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10855543/

相关文章:

java - 如何为给定查询编写JPA CriteriaBuilder?

java - Java中等待玩家点击棋子

java - 通过单选按钮将男性或女性设置为整数

java - hibernate/Java : retrieving primary key always returns zero

java - 名为 my-app : Provider named org. hibernate.ejb.HibernatePersistence 的 EntityManager 没有持久性提供程序

json - JPA (EclipseLink) 自定义类型是否可行?

java - 如何在android中获取完整日期?

java - Android 从链接下载文件

hibernate - 从另一个 docker 容器连接到数据库

java - spring + jpa + hibernate,列出表中的所有行