La fonctionnalité que vous essayez d'utiliser avec ticket DATAJPA-292 introduit obtenu et dans les commentaires que vous trouverez la limitation qui pose des problèmes pour vous:
Une chose à noter est que les références au même paramètre ne peut être équipé que de la même expression LIKE. L'extrait de requête suivant n'est pas valide:
… firstname like %?1 and lastname like ?1%
Comme nous ne pouvons lier qu'un seul paramètre une seule fois.
Pour contourner cette limitation, vous devriez pouvoir utiliser des expressions SpEL. Effectuez les opérations suivantes:
@Query("select t from Menu t where (?1 is null or t.name like ?#{'%'+[0]+'%'})")
pas 100% sûr, mais je pense que cela devrait fonctionner aussi bien parce qu'il considère fondamentalement les lier à des instances comme paramètres distincts:
@Query("select t from Menu t where (?1 is null or t.name like %?#{[0]}%)")
pourquoi '@Query (" select t à partir de Menu t où (t.name comme%? 1% ou? 1 est nul) ")' peut gérer ??? – shakira
Il n'existe pas de @ Query dans l'API JPA. C'est une annotation SPRING! C'est JPQL dont vous parlez – DN1