我在 Spring 中有一个简单的应用程序,我想在创建新用户时实现设置角色的方法。所以它是我的代码。我应该如何给最后一个方法设置角色?
Role.java
@Entity
@Table(name = "roles")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING)
@NaturalId
private RoleName name;
public Role(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public RoleName getName() {
return name;
}
public void setName(RoleName name) {
this.name = name;
}
}
角色名称枚举
public enum RoleName {
ROLE_USER,
ROLE_ADMIN
}
User.java 中的设置方法
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_roles",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles = new HashSet<>();
我应该如何填写这个方法?
public User addUser(User user) {
Role userRole = roleRepository.findRoleByName(RoleName.ROLE_USER);
User newUser = new User();
newUser.setEmail(user.getEmail());
newUser.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
newUser.setUsername(user.getUsername());
newUser.setFirstName(user.getFirstName());
newUser.setLastName(user.getLastName());
newUser.setRoles();
return userRepository.save(newUser);
}
我不知道我应该放什么 newUser.setRoles()
扬帆大鱼
慕村9548890
随时随地看视频慕课网APP
相关分类