我现在正忙着使用springsecurity为我的全栈web应用程序创建一个角色系统,但是我的角色列表遇到了一个问题。我将角色存储在数据库中,如下所示:我的用户对象中有一个角色列表:
@Entity
@Table(name = "users")
public class User {
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="user_roles",
joinColumns = { @JoinColumn(name = "userId") },
inverseJoinColumns = { @JoinColumn(name = "roleId") })
private List<Role> roles = new ArrayList<>();
public User(){
this.roles.add(new Role(UserRole.ROLE_USER));
}
}
在我的角色对象中,我有以下代码:
@Entity
@Table(name= "roles")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int roleId;
@Enumerated(EnumType.ORDINAL)
private UserRole roleName;
@JsonIgnore
@ManyToMany(cascade=CascadeType.ALL, mappedBy="roles")
private Collection<User> users = new ArrayList<>();
public Role(UserRole roleName) {
this.roleName = roleName;
}
}
枚举用户角色包括以下内容:
public enum UserRole {
ROLE_USER,
ROLE_ADMIN
}
当我查看数据库时,我的用户确实得到了正确的角色,但是代码没有很好地处理数据。它在断点中显示以下内容:
对象
错误
有人知道我做错了什么吗?
暂无答案!
目前还没有任何答案,快来回答吧!