如何指定JPA查询,如:
Query q =
em.createQuery(
"SELECT x FROM org.SomeTable x WHERE x.someString LIKE '%:someSymbol%'"
);
接下来是:
q.setParameter("someSymbol", "someSubstring");
并且不会触发
org.hibernate.QueryParameterException: could not locate named parameter [id]
非常感谢!
答案 0 :(得分:72)
怎么样
Query q =
em.createQuery(
"SELECT x FROM org.SomeTable x WHERE x.someString LIKE :someSymbol"
);
q.setParameter("someSymbol", "%someSubstring%");
我很确定我曾经这样解决过你的问题。
答案 1 :(得分:35)
供参考,您也可以使用CONCAT:
like CONCAT('%', :someSymbol, '%')
答案 2 :(得分:3)
query.setParameter(someSymbol,"%" + someSymbol +"%");