Problème avec les paramètres positionnels en JPA requête native
Je suis en train de faire:
String sql = "SELECT email FROM users WHERE (type like 'B') AND (username like '?1')";
List results = em.createNativeQuery(sql).setParameter(1, username).getResultList();
Mais je reçois IllegalArgumentException qui m'indique que le paramètre est en dehors des limites. Ce que je fais mal?
Vous devez vous connecter pour publier un commentaire.
Il shoudn pas être des guillemets autour des paramètres. Essayez plutôt ceci:
Vous pouvez également double-vérifier que vous avez vraiment dire
type like 'B'
que c'est probablement ce qui ne fait pas ce que vous pensez que cela fonctionne.a) Pourquoi voudriez-vous utiliser SQL natif pour une simple requête comme ceci? Utilisation JPQL.
b) Pourquoi utiliser comme si vous n'utilisez pas les caractères génériques? Utilisation
=
à la place.