我需要在HQL中包含输入数组的每个值。
示例输入数组:new String[]{"Value1%", "Value2%", "Value3%"}
我的查询应该像
id like "Value1%" or id like "Value2%" or id like "Value3%"
我试过如下
for(int inx=0;inx<Count;inx++){
id+="id like id"+inx;
if(inx!=Count-1){
id+=" or ";
}
}
for(int inx=0;inx<Count;inx++){
id = "id"+inx;
qry.setParameter("id"+inx,Criteria[inx]);
}
它让我低于错误
org.hibernate.QueryParameterException:找不到命名参数[id0]
我认为期望变量作为参数给出,但我不想为每个输入值创建更多变量。
答案 0 :(得分:0)
我已经阅读了您的代码,并且我发现了可能的错误:
:
因此您的代码可以替换为:
指定参数的分配:
id+="id like :id"+inx;
替换命名参数:
qry.setParameter(":id"+inx,Criteria[inx]);