我有这个用户和角色实体:
@Entity
@Table(name="test")
public class Test implements Serialazable {
....
@Column(length = 25)
private String role;
.....
}
我想使用此枚举来保存可用类型:
public enum Role implements GrantedAuthority {
ROLE_ADMIN, ROLE_CLIENT;
public String getAuthority() {
return name();
}
}
问题是我如何使用此枚举来插入所选的当前角色,并从数据库中获取值并填充枚举。
你能指导我如何实现这个吗,因为我不太清楚?
最佳答案
我给你举个例子,你需要:
- 创建一个枚举类
创建转换器:
@Converter(autoApply = true) public class RoleConverter implements AttributeConverter<Role, String> { @Override public String convertToDatabaseColumn(Role role) { return role.getRoleName(); } @Override public Role convertToEntityAttribute(String dbData) { return Role.getFromShortName(dbData); } }
持久性提供者将完成剩下的工作。
关于java - 使用 Enum 表示用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62352945/