How to specify a JPA named parameter surrounded by wildcards?
JavaHibernateJpaNamed ParametersJava Problem Overview
How would I specify a JPA query like:
Query q =
em.createQuery(
"SELECT x FROM org.SomeTable x WHERE x.someString LIKE '%:someSymbol%'"
);
followed by:
q.setParameter("someSymbol", "someSubstring");
and not triggering a
org.hibernate.QueryParameterException: could not locate named parameter [id]
Much appreciated!
Java Solutions
Solution 1 - Java
How about
Query q =
em.createQuery(
"SELECT x FROM org.SomeTable x WHERE x.someString LIKE :someSymbol"
);
q.setParameter("someSymbol", "%someSubstring%");
I'm pretty sure I once solved your problem like that.
Solution 2 - Java
For reference, you could also use CONCAT:
like CONCAT('%', :someSymbol, '%')
Solution 3 - Java
query.setParameter(someSymbol, "%" + someSymbol+ "%");