我正在尝试使用索引查询来运行一个 SQL 查询, list.add("'%"+ some_string + "%'"); 并在查询(样本)中设置如下:
query=select * from table where name like ?1;
我将参数设置为:
query.setParameter(1, list.get(0));
它不起作用,相反,如果我直接将值放入查询中,例如:
select * from table where name like '%"+some_string+"%'
它有效。我正在使用 JPA Hibernate 和 postgres 数据库。
将参数设置为
时是否有单引号的内部解析query.setParameter();
最佳答案
删除要添加到 List
的占位符值中的 ''
引号。
list.add("%" + some_string + "%");
现在 query.setParameter(1, list.get(0));
应该按预期工作,因为任何绑定(bind)到 ?
占位符的字符串值都不需要被引用。
关于java - SQL query.setParameter() 未在 Java 中获取单引号字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29812767/