Hibernate n'a pas pu localiser le paramètre nommé, même si il existe
Hibernate Garde la détection
org.hibernate.QueryParameterException: could not locate named parameter [name]
même si elle existe. voici mon hql
Query query = sess().createQuery("from UserProfile where firstName LIKE '%:name%'").setParameter("name", name);
Pourquoi ne hibernate garde lancer cette exception? même si le paramètre existe pas?
- Je suppose que vous n'avez pas besoin de ces quotas autour de paramètre, ce qui pourrait le cas où votre problème.
Vous devez vous connecter pour publier un commentaire.
Devrait ressembler à ceci:
Dans votre cas
':name'
est réelle chaîne de Hibernate recherche. Si vous avez besoin d'avoir un vrai paramètre nommé, vous avez besoin d'avoir juste:name
.Ainsi
%
doit être passé comme une valeur de:name
et Hibernate va remplacer:name
avec la valeur réelle.Notez que, si votre valeur contient
%
et vous voulez qu'il soit une lettre réelle, et non génériques, vous aurez à s'en échapper, voici un exemple de escaper de classe.essayer de concaténer à l'aide de
hql
ou à l'aide de
CONCAT