将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还是什么?