Mysql 使用列表中的条件休眠SQLQuery

Mysql 使用列表中的条件休眠SQLQuery,mysql,sql,spring,hibernate,Mysql,Sql,Spring,Hibernate,我正在尝试将整数列表传递给SQLQuery。但是,它抛出一个错误,称为“异常:找不到命名参数[ID];嵌套异常为org.hibernate.QueryParameterException:找不到命名参数[ID]” 我的查询是这样的: List<Integer> ids = new ArrayList<Integer>(5); //Fill something in ids return session.createSQLQuery("select igf.foo_id f

我正在尝试将整数列表传递给SQLQuery。但是,它抛出一个错误,称为“异常:找不到命名参数[ID];嵌套异常为org.hibernate.QueryParameterException:找不到命名参数[ID]”

我的查询是这样的:

List<Integer> ids = new ArrayList<Integer>(5);
//Fill something in ids
return session.createSQLQuery("select igf.foo_id from group_feed igf where igf.id in (:ids)")
    .setMaxResults(pageSize)
    .setParameterList("ids", ids)
    .setResultTransformer(Transformers.aliasToBean(GroupFeed.class))
    .list();
List id=newarraylist(5);
//在ID里填些东西
return session.createSQLQuery(“从组中选择igf.foo\u id,其中igf.id位于(:id)”)
.setMaxResults(页面大小)
.setParameterList(“ids”,ids)
.setResultTransformer(Transformers.aliasToBean(GroupFeed.class))
.list();
我做错了什么?是否不允许将
setParameterList
Hibernate SQLQuery
一起使用?我无法从jBoss中的Hibernate文档中了解太多内容

List<Integer> ids = new ArrayList<Integer>(5);
不会打印任何东西。列表是空的

您确定列表中至少填写了一项吗

Hibernate
查找参数的方式我认为您必须:

return session.createSQLQuery("select igf.foo_id from group_feed igf where igf.id in ( :ids )")
.setMaxResults(pageSize)
.setParameterList("ids", ids)
.setResultTransformer(Transformers.aliasToBean(GroupFeed.class))
.list();

我认为
Hibernate
没有意识到
:ids
,因为它仍然是
(:ids)

。异常显示:“异常:找不到命名参数[ID];”。我想这是指找不到“ids”数据的事实。我不想在这里放置初始化代码,因此我在ids中放置了此注释->//填充一些内容。我猜@Vikram说的是对的。我知道你不想:)
return session.createSQLQuery("select igf.foo_id from group_feed igf where igf.id in ( :ids )")
.setMaxResults(pageSize)
.setParameterList("ids", ids)
.setResultTransformer(Transformers.aliasToBean(GroupFeed.class))
.list();