Mysql 使用列表中的条件休眠SQLQuery
我正在尝试将整数列表传递给SQLQuery。但是,它抛出一个错误,称为“异常:找不到命名参数[ID];嵌套异常为org.hibernate.QueryParameterException:找不到命名参数[ID]” 我的查询是这样的: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
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();