Hibernate Keeps detecting
org.hibernate.QueryParameterException: could not locate named parameter [name]
even though it exist. here's my hql
Query query = sess().createQuery("from UserProfile where firstName LIKE '%:name%'").setParameter("name", name);
Why does hibernate keeps throwing that exception? even though the parameter exist?
Should be like this:
Query query = sess().createQuery("from UserProfile where firstName LIKE :name")
.setParameter("name", "%"+name+"%");
In your case ':name'
is actual string Hibernate will search for. If you need to have a real named parameter, you need to have just :name
.
Thus %
should be passed as a value of :name
and Hibernate will substitute :name
with actual value.
Note, that if your value contains %
and you want it to be an actual letter instead of wildcard, you'll have to escape it, here is an example of escaper-class.