JPQL Comme Insensible à la casse
Je veux rechercher des données dans la table User par le nom de la casse.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("select u from User u where lower(u.name) like %lower(?1)%")
public List<User> findByNameFree(String name);
}
J'ai une erreur: jeton inattendu: %. Où dois-je placer '%'?
OriginalL'auteur windupurnomo | 2016-05-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la méthode concat opérateur:
ou avec un paramètre nommé:
(Testé avec Spring Boot 1.4.3)
OriginalL'auteur Wim Deblauwe
Si ce n'est que ce que vous voulez et vous êtes à l'aide de Spring Data JPA vous n'avez pas besoin d'écrire une requête.
Chose que vous devez envelopper la
name
attribut avec%
avant de vous passer à la méthode (mettre directement dans la requête ne sera tout simplement pas de travail). Ou de ne pas utiliser une requête mais l'utilisation d'une spécification ou les Critères de l'API pour créer la requête.OriginalL'auteur M. Deinum
Vous pouvez utiliser
wildcard matching
.par exemple, je veux le nom de la recherche comme
haha
,OriginalL'auteur Nicholas