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?
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%Sie können dies selbst in wenigen Zeilen programmieren:
%Vor%Ansonsten weiß ich nicht, ob Spring-Data dies standardmäßig unterstützt.
Tags und Links spring-data-jpa hibernate spring spring-data jpql