hibernate的setparameterlist不适用于selectquery

kknvjkwl  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(270)

我试图在sqlquery中设置参数ltlist,比如=>['a',b','c'],但是当我在设置参数之后没有任何变化=>“select。。。。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);

没有错误,但是:query constructed:select。。。。lt in(:ltlist)
需要查询:选择。。。。lt in('a','b','c')

20jt8wwn

20jt8wwn1#

“in(:ltlist)”“in”和“()”需要空格

a8jjtwal

a8jjtwal2#

id ipfs是ipfs表中的一列还是两列??
如果id是一列,ipfs是另一列,则应该添加逗号、id和ipfs
否则应将列替换为“id ipfs”

ca1c2owp

ca1c2owp3#

第二条评论是正确的,
=>为什么要更改查询?参数在执行时应用。另外,您不应该使用concat来创建这样的查询。使用另一个参数设置用户ID。-m。迪纳姆
问题是setparameterlist正在用引号“”设置参数,而我已经在发送一个附加了引号的列表,因此在执行时它变成了这样-('a'、'b'、'c')

相关问题