使用 spring boot JPA hibernate 存储库检查用户名和密码的 Mysql 查询不起作用。我该怎么办?

Posted

技术标签:

【中文标题】使用 spring boot JPA hibernate 存储库检查用户名和密码的 Mysql 查询不起作用。我该怎么办?【英文标题】:Mysql query to check username & password using spring boot JPA hibernate repository is not working. what should I do? 【发布时间】:2021-07-19 05:24:48 【问题描述】:
@Query("select u from users u where u.username = :username and u.password = :password")
Optional<User> login(@Param("username")String username, @Param("password")String password);

我想运行上述查询,但出现以下错误:

Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; 
    nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'userRepository'; 
    nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository' defined in com.ezest.bunge.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; 
    nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.Optional com.ezest.bunge.repository.UserRepository.login(java.lang.String,java.lang.String)

请帮帮我,我一直在尝试解决这个问题,但没有得到确切的解决方案

【问题讨论】:

请显示您的用户存储库类 【参考方案1】:

在查询中使用实体类名而不是表名,因为它是 JPQL 查询。

Query("select u from User ...")

【讨论】:

以上是关于使用 spring boot JPA hibernate 存储库检查用户名和密码的 Mysql 查询不起作用。我该怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot中使用Spring Data JPA示例

如何在 Spring Boot 中使用 Hibernate/JPA 返回多级 json

JPA/Hibernate 在 Spring Boot 应用程序中插入不存在的表

Spring Boot ManyToMany - *** - JPA,Hibernate

Spring Boot 和 JPA 2.0

Spring Boot + JPA + Hibernate 不同的表名前缀