Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JpaRepository创建只有一个角色的用户_Java_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

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())
to
user.setRoles(新的HashSet(roleRepository.findByName(“用户”))
userserviceinpl
中,但这不起作用。这是如何做到的?

角色还原应该是:

public interface RoleRepository extends JpaRepository<Role, Long>{
    List<Role> findAllByName(String name);
}
公共接口角色库扩展了JPA角色库{
列出findAllByName(字符串名称);
}

并更新
user.setRoles(新的HashSet(roleRepository.findAll())
to
user.setRoles(新的HashSet(roleRepository.findAllByName(“用户”))
userserviceinpl

提示:比较您的
findByName
findAll
的返回类型。谢谢@chrylis-cautiouslyoptimistic-。其中一个我整晚都在看,却没有发现。
public interface RoleRepository extends JpaRepository<Role, Long>{
    List<Role> findAllByName(String name);
}