如何指定一个用通配符括起来的JPA命名参数?

2022-08-31 17:07:06

如何指定 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]

非常感谢!


答案 1

怎么样

Query q = 
  em.createQuery(
    "SELECT x FROM org.SomeTable x WHERE x.someString LIKE :someSymbol"
);
q.setParameter("someSymbol", "%someSubstring%");

我很确定我曾经像那样解决过你的问题。


答案 2

作为参考,您还可以使用 CONCAT:

like CONCAT('%', :someSymbol, '%')

推荐