Java 使用JpaRepository创建只有一个角色的用户
我有以下Java 使用JpaRepository创建只有一个角色的用户,java,spring-boot,jpa,spring-data-jpa,Java,Spring Boot,Jpa,Spring Data Jpa,我有以下rolereposition: public interface RoleRepository extends JpaRepository<Role, Long>{ } 我的数据库有两个角色,用户和管理员。这意味着,当创建一个用户时,它同时具有两个角色。我想更改此设置,以便只创建用户角色,并且可以在稍后的时间点分配管理员 我想我可以添加列表findByName(字符串名)到RoleRepository并更新user.setRoles(新的HashSet(RoleReposi
rolereposition
:
public interface RoleRepository extends JpaRepository<Role, Long>{
}
我的数据库有两个角色,用户和管理员。这意味着,当创建一个用户时,它同时具有两个角色。我想更改此设置,以便只创建用户角色,并且可以在稍后的时间点分配管理员
我想我可以添加
列表findByName(字符串名)
到RoleRepository
并更新user.setRoles(新的HashSet(RoleRepository.findAll())
touser.setRoles(新的HashSet(roleRepository.findByName(“用户”))代码>在userserviceinpl
中,但这不起作用。这是如何做到的?角色还原应该是:
public interface RoleRepository extends JpaRepository<Role, Long>{
List<Role> findAllByName(String name);
}
公共接口角色库扩展了JPA角色库{
列出findAllByName(字符串名称);
}
并更新user.setRoles(新的HashSet(roleRepository.findAll())
touser.setRoles(新的HashSet(roleRepository.findAllByName(“用户”))代码>在userserviceinpl
提示:比较您的findByName
和findAll
的返回类型。谢谢@chrylis-cautiouslyoptimistic-。其中一个我整晚都在看,却没有发现。
public interface RoleRepository extends JpaRepository<Role, Long>{
List<Role> findAllByName(String name);
}