tutorial mvc mediante libro framework español ejemplos desarrollo books aplicaciones java hibernate hql named-parameters

mvc - spring java tutorial



Hibernate no pudo ubicar el parámetro nombrado incluso si existe (2)

Debería ser así:

Query query = sess().createQuery("from UserProfile where firstName LIKE :name").setParameter("name", "%"+name+"%");

En su caso '':name'' es una cadena real que Hibernate buscará. Si necesita tener un parámetro con nombre real, debe tener just :name .

Por lo tanto, % debe pasar como un valor de :name e Hibernate sustituirá :name con valor real.

Tenga en cuenta que si su valor contiene % y quiere que sea una letra real en lugar de un comodín, tendrá que escapar, aquí hay un ejemplo de escaper-class.

Hibernate sigue detectando

org.hibernate.QueryParameterException: could not locate named parameter [name]

aunque exista aquí está mi hql

Query query = sess().createQuery("from UserProfile where firstName LIKE ''%:name%''").setParameter("name", name);

¿Por qué hibernate sigue arrojando esa excepción? a pesar de que el parámetro existe?


intenta concatenarlo usando hql

"from UserProfile where firstName LIKE ''%'' || :name || ''%''"

o usando CONCAT

"from UserProfile where firstName LIKE CONCAT(''%'', :name ,''%'')"