我有一个简单的spring启动应用程序,我决定在那里添加Spring Security 和角色。下面是我的用户类:
//different fields
@ElementCollection(targetClass = UserRole.class, fetch = FetchType.EAGER)
@CollectionTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"))
@Enumerated(EnumType.STRING)
private Set<UserRole> userRoles;
以及 UserRole
枚举:
public enum UserRole implements GrantedAuthority {
USER, ADMIN;
@Override
public String getAuthority() {
return name();
}
}
我有两张table
用户:
| id | name | pasword |
----------------------
| | | |
用户角色:
| user_id | user_role |
-----------------------
| | |
当我尝试创建新用户时,我得到:
Unknown column 'user_roles' in 'field list'
我认为它还应该为用户角色添加新记录。
1条答案
按热度按时间c2e8gylq1#
尝试添加
@Column
指定userRoles
以便它与user_roles
收集表:这个
user_roles
当@Column
未指定。