【问题标题】:Set of enum Spring data枚举 Spring 数据集
【发布时间】:2017-07-18 17:56:28
【问题描述】:

我想在我的 spring 应用程序中使用枚举的 spring 数据集,它将存储在 db 中。目前我以这种方式尝试过:

@NotNull
@Column(name = "ROLES")
@Enumerated(EnumType.STRING)
@ElementCollection(targetClass = Role.class)
private Role role;

@NotNull
@Column(name = "PERMISSIONS")
@Enumerated(EnumType.STRING)
@ElementCollection(targetClass = Permission.class)
private Set<Permission> permissions;

但你可能知道它不起作用。我如何使用枚举存储在数据库中?

最好的问候!

【问题讨论】:

  • 到底是什么问题? @ElementCollection(targetClass = Role.class) 不是必需的。它不是一个集合,而是一个枚举。
  • 问题出在Set上,如何持久化?
  • 您是否要在数据库列中查找枚举值?这是一个可以帮助您的链接:codejava.net/frameworks/hibernate/…

标签: spring hibernate enums spring-data


【解决方案1】:

您应该添加具有指定名称和连接列的@CollectionTable 注释。

【讨论】:

    【解决方案2】:

    愿这对你有用。

    @ElementCollection(targetClass = Permission.class)
    @CollectionTable(name = "permissions", joinColumns = @JoinColumn(name = "permission_id"))
    @Column(name = "permission", nullable = false)
    @Enumerated(EnumType.STRING)
    Set<Permission> permission;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多