Spring Data optionaler Parameter in der Abfrage-Methode

16

Ich möchte einige Abfragemethoden im Repository-Layer schreiben. Diese Methode muss Null-Parameter ignorieren. Zum Beispiel:

%Vor%

Diese Methode muss Foo mit dieser Bedingung zurückgeben:

%Vor%

wenn GooParam nicht null ist. Wenn GooParam null war, ändere die Bedingung zu:

%Vor%

Gibt es eine Lösung? Kann mir jemand helfen?

    
mohammad_1m2 22.09.2015, 23:47
quelle

2 Antworten

9

Ich glaube nicht, dass Sie das mit dem Methodennamen-Ansatz für die Abfragedefinition tun können. Aus der Dokumentation ( reference ):

  

Obwohl das Abrufen einer Abfrage, die von dem Methodennamen abgeleitet wird, recht ist   Praktisch könnte man sich der Situation stellen, in der entweder die Methode   Der Name-Parser unterstützt das zu verwendende Schlüsselwort oder die Methode nicht   Name würde unnötig hässlich werden. Sie können also entweder JPA mit dem Namen verwenden   Abfragen über eine Namenskonvention (siehe Verwenden von JPA NamedQueries für   Weitere Informationen) oder notieren Sie Ihre Abfrage-Methode mit @Query

Ich denke, Sie haben diese Situation hier, daher wird in der folgenden Antwort der @Query-Annotations-Ansatz verwendet, der fast so praktisch ist wie der Methoden-Name-Ansatz ( Referenz ).

%Vor%     
chaserb 30.08.2016 15:46
quelle
-2

Sie können dies selbst in wenigen Zeilen programmieren:

%Vor%

Ansonsten weiß ich nicht, ob Spring-Data dies standardmäßig unterstützt.

    
user152468 23.09.2015 18:06
quelle