gpt4 book ai didi

java - 使用 Spring Boot 在 JPQL 查询的Where子句中定义整数值

转载 作者:行者123 更新时间:2023-12-02 10:52:40 24 4
gpt4 key购买 nike

我正在尝试使用 spring boot 和 spring data JPA 从两个表中获取联接数据。在我的连接查询中,我定义了带有整数条件 userId=value 的 where 子句。但我收到类似

的错误
java.lang.ClassCastException: java.lang.Integer cannot be cast to com.spacestudy.model.Users

在我的存储库中,我添加了查询,例如,

    @Query("SELECT u.nuserId , ur.ninst_id FROM Users u JOIN u.roleUserRoleMappingMappingJoin ur where u.nuserId = :uid")
Users findByNuserId(@Param("uid") int uid);

并从 Controller 调用,例如,

@GetMapping("/load")
public Iterable<Users> load() {
return (Iterable<Users>) userObj.findByNuserId(670);
}

由此我能够得到结果。但为什么我无法从以前的内容中检索?这里不匹配是什么?谁能帮我解决此类问题?

最佳答案

避免连接。这就是 JPA/Hibernate 的美妙之处。

存储库代码

Users findByNuserId(int uid);

服务代码

用户 user=repository.findByNuserId(uid);

int nuserId=user.nuserId;
int ninst_id=user.roleUserRoleMappingMappingJoin.ninst_id;

关于java - 使用 Spring Boot 在 JPQL 查询的Where子句中定义整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52036614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com