休眠的设置参数列表对选择查询不起作用



我试图在sqlquery中设置参数lTList =>['a',b','c']但当i SOP设置参数后没有变化=>"选择……lt in (:ltList) "我做错了什么


//List lTList=new ArrayList<String>();   

Query selectQr = session.createSQLQuery("select id ipfs from ipfs where lt in(:lTList) and user_id='" + userId + "'");
selectQr.setParameterList("lTList", lTList);

没有错误,但是:已构造的查询:选择....lt in (:ltList)

查询需要:选择....输入('a','b','c')

in(:lTList)"in"one_answers"()";需要空格

id ipfs是ipfs表中的一列还是两列?

如果id是一个列,ipfs是另一个列,则应添加逗号id, ipfs

其他您应该将该列替换为'id ipfs'

第二条评论是正确的,

=>为什么要更改查询?参数在执行时应用。此外,永远不要使用concat来创建这样的查询。使用其他参数设置userid。——M. Deinum

问题是setparameterlist是用引号设置参数的,而我已经发送了一个附加引号的列表,因此在执行时它变成了这样的东西-("a","b","c")

最新更新