【问题标题】:Java Spring Data JPA with annotation not working with where带有注释的Java Spring Data JPA不适用于where
【发布时间】:2019-03-10 03:43:19
【问题描述】:

我想做这个sql查询:

SELECT auth_name FROM person WHERE auth_name = "myemail@gmail.com" AND 状态=1;

但在 springboot 的形式中。你能帮助我吗?

这是我目前得到的。

个人资料库:

@Query("SELECT p FROM Person p where auth_name = :username AND state= :state")
public List<Person> findAllActiveUsers(@Param("username") String username,@Param("state") byte state);

控制器

 System.out.println(personRepository.findAllActiveUsers(usuario.getAuthName(), (byte) 1));

错误:

“异常”:“java.lang.StackOverflowError”

我做错了什么?有人能帮我吗?

【问题讨论】:

  • 当您没有发布任何堆栈跟踪或 JPA 提供者的日志时,谁能提供帮助?仅供参考,Spring 没有“ORM”,它只是使用 JPA 提供程序。

标签: java spring-boot orm spring-data-jpa jpql


【解决方案1】:

好吧,我假设您在某处有一个无限循环。在您发布更多信息之前,无法帮助您找到这一点,例如。堆栈跟踪、服务代码等 BUTTT,与此同时,Spring 能够直接从方法名称派生查询,因此您可以将查询简化为

public List<Person> findAllByUsernameAndState(String username, String state);

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 2022-01-02
    • 2012-03-08
    • 1970-01-01
    • 2015-05-31
    • 2019-11-11
    • 2023-03-06
    • 2018-08-27
    相关资源
    最近更新 更多