我试图在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")