gpt4 book ai didi

java - 带有 "IN"表达式的 JPA @namedQuery

转载 作者:搜寻专家 更新时间:2023-11-01 02:11:28 24 4
gpt4 key购买 nike

我有以下命名查询:

@NamedQuery(name = Department.getDepartmentsByIds, query = "SELECT tbl FROM Department tbl where tbl.id in (:departmentsIds)") 

我想像这样传递参数:departmentIds = "1,2,3":

query.setParameter("departmentsIds","1,2,3");

但是我得到一个错误:

java.lang.IllegalArgumentException: Parameter value [1,2,3] was not matching type [java.lang.Long]

有什么想法吗?

最佳答案

List 传递给 setParameter 方法而不是 StringList 的通用类型参数应与您的 departmentIds 字段的类型相对应。

List<Integer> ids = new ArrayList<Integer>(); //this should be your id column's type
ids.add(1);
ids.add(2);
ids.add(3);
query.setParameter("departmentsIds",ids);

关于java - 带有 "IN"表达式的 JPA @namedQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18228728/

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