Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java列表传递给SQL查询Grails_Sql_List_Grails - Fatal编程技术网

将Java列表传递给SQL查询Grails

将Java列表传递给SQL查询Grails,sql,list,grails,Sql,List,Grails,我有一个填充列表: def someList=... (string values) 我想将其传递到SQL语句中,以限制查询选择的列 db.rows("select ${someList} from arch_application") 但是,当我尝试执行此操作时,会出现以下错误: There is a ? parameter in the select list. This is not allowed. 有人有主意吗?谢谢 当您将GString传递给时,它的解析方式与groovy中的

我有一个填充列表:

def someList=... (string values)
我想将其传递到SQL语句中,以限制查询选择的列

db.rows("select ${someList} from arch_application")
但是,当我尝试执行此操作时,会出现以下错误:

There is a ? parameter in the select list. This is not allowed. 

有人有主意吗?谢谢

当您将GString传递给时,它的解析方式与groovy中的普通方式不同。特别是,它为
${}
替换创建了一个带有可替换参数的PreparedStatement。在你的情况下,这可能不是你想要的。尝试将GString强制为Java字符串:

db.rows("select ${someList.join(',')} from arch_application" as String)

我不明白。您正在对数据源执行jdbc查询,是在哪里?或者你在使用hql还是什么?