JPQL Wie Case Insensitive

8

Ich möchte Daten in der Benutzertabelle nach Namen ohne Berücksichtigung der Groß- / Kleinschreibung suchen.

%Vor%

Ich habe einen Fehler bekommen: unerwartetes Token:% . Wo sollte ich "%" platzieren?

    
windupurnomo 12.05.2016, 06:06
quelle

3 Antworten

22

Sie können den concat-Operator verwenden:

%Vor%

oder mit einem benannten Parameter:

%Vor%

(Getestet mit Spring Boot 1.4.3)

    
Wim Deblauwe 01.02.2017, 20:16
quelle
5

Wenn dies nur das ist, was Sie möchten und Sie Spring Data JPA verwenden, müssen Sie keine Abfrage schreiben.

%Vor%

Andernfalls müssen Sie das Attribut name mit % umbrechen, bevor Sie es an die Methode übergeben (das direkte Einfügen in die Abfrage funktioniert einfach nicht). Oder verwenden Sie keine Abfrage, sondern verwenden Sie zum Erstellen der Abfrage eine Spezifikation oder die Kriterien-API.

    
M. Deinum 12.05.2016 06:42
quelle
0

Sie können wildcard matching verwenden.

zum Beispiel, ich möchte den Namen wie haha ,

suchen %Vor%     
Nicholas 12.05.2016 06:27
quelle