Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
枚举Spring数据集_Spring_Hibernate_Enums_Spring Data - Fatal编程技术网

枚举Spring数据集

枚举Spring数据集,spring,hibernate,enums,spring-data,Spring,Hibernate,Enums,Spring Data,我想在我的spring应用程序中使用spring数据集的枚举,它将存储在db中。目前我是这样尝试的: @NotNull @Column(name = "ROLES") @Enumerated(EnumType.STRING) @ElementCollection(targetClass = Role.class) private Role role; @NotNull @Column(name = "PERMISSIONS") @Enumerated(EnumType.STRING) @Ele

我想在我的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;
@NotNull
@列(name=“ROLES”)
@枚举(EnumType.STRING)
@ElementCollection(targetClass=Role.class)
私人角色;
@NotNull
@列(name=“权限”)
@枚举(EnumType.STRING)
@ElementCollection(targetClass=Permission.class)
私有设置权限;
但正如你可能知道的那样,它不起作用。如何使用要存储在db中的枚举


致以最良好的祝愿

您应该添加具有指定名称和联接列的
@CollectionTable
站点。

您应该添加具有指定名称和联接列的
@CollectionTable
站点。

这可能对您有用

@ElementCollection(targetClass = Permission.class)
@CollectionTable(name = "permissions", joinColumns = @JoinColumn(name = "permission_id"))
@Column(name = "permission", nullable = false)
@Enumerated(EnumType.STRING)
Set<Permission> permission;
@ElementCollection(targetClass=Permission.class)
@CollectionTable(name=“permissions”,joinColumns=@JoinColumn(name=“permissions\u id”))
@列(name=“permission”,null=false)
@枚举(EnumType.STRING)
设置权限;

希望这对你有用

@ElementCollection(targetClass = Permission.class)
@CollectionTable(name = "permissions", joinColumns = @JoinColumn(name = "permission_id"))
@Column(name = "permission", nullable = false)
@Enumerated(EnumType.STRING)
Set<Permission> permission;
@ElementCollection(targetClass=Permission.class)
@CollectionTable(name=“permissions”,joinColumns=@JoinColumn(name=“permissions\u id”))
@列(name=“permission”,null=false)
@枚举(EnumType.STRING)
设置权限;

到底是什么问题
@ElementCollection(targetClass=Role.class)
不是必需的。它不是一个集合,而是一个枚举。问题在于集合,如何持久化所有集合?是否在数据库列中查找枚举值?这里有一个链接可以帮助解决这个问题:到底是什么问题
@ElementCollection(targetClass=Role.class)
不是必需的。它不是一个集合,而是一个枚举。问题在于集合,如何持久化所有集合?是否在数据库列中查找枚举值?这里有一个链接可以帮助实现这一点: