【发布时间】:2019-01-28 22:47:29
【问题描述】:
我现在将休眠升级到 5,需要将所有位置参数(在 5 中删除)更改为命名参数。 我有一个关于如何在“多个?in-clause”中使用命名参数的问题。 例如,我有一个查询
select people from users where grade in ( ?, ?, ?, ?.......
我不知道“?”的确切数字。在 HQL 查询中。有了位置参数,我可以简单地
int index = 0;
for(Grade g : GradeList) {
query.setParameter(index++, g);
}
所以“索引”可以帮助我在 HQL 查询中动态生成索引位置。如果我想用命名参数替换这个查询,我们通常怎么做呢? 我们会做类似的事情吗
String s = "p";
int index = 0;
for(Grade g : GradeList) {
String ss = s + index++;
query.setParameter("ss", g);
}
那么我应该在“?”的查询中输入什么内容。 s1、s2、s3、s4???
【问题讨论】: