Java JPA-按名称检查数据库中是否存在用户?

Java JPA-按名称检查数据库中是否存在用户?,java,spring,jpa,spring-data-jpa,Java,Spring,Jpa,Spring Data Jpa,我正在使用这个代码 public interface UserRepository扩展了crudepository{ @查询(“从用户p中选择p,其中名称=?1”) 公共布尔findExistByname(字符串名称); @查询(“从用户p中选择p,其中电子邮件=?1”) 公共布尔findExistByEmail(字符串电子邮件); } 要检查数据库中的用户是否存在,但如果不存在,则返回null和错误,我只是不知道如何执行此操作,您需要选择一个布尔值 @Query("select c

我正在使用这个代码

public interface UserRepository扩展了crudepository{
@查询(“从用户p中选择p,其中名称=?1”)
公共布尔findExistByname(字符串名称);
@查询(“从用户p中选择p,其中电子邮件=?1”)
公共布尔findExistByEmail(字符串电子邮件);
}

要检查数据库中的用户是否存在,但如果不存在,则返回null和错误,我只是不知道如何执行此操作,您需要选择一个布尔值

@Query("select count(p) = 1 from User p where name = ?1")
public boolean findExistByname(String name);
请尝试以下代码:

@存储库
公共接口UserRepository扩展了Crudepository{
可选findByName(最终字符串名称);
}
然后检查用户是否存在:

userRepository.findByName(“用户名在此显示”)
.orelsetrow(()->new SecurityException(“在数据库中找不到用户”);
或:

userRepository.findByName(“用户名在这里”).isPresent()

有十几种不同的方法可以解决您的问题,下面已经出现了两种好方法。但是,既然您在问题中说返回了错误,那么您应该将错误粘贴到此处,这样它可以指导每个人的答案,并帮助其他遇到相同类型错误的人。tks bro,它的工作