Kann ich kombinieren @Abfrage, definition und Spezifikationen auf eine Spring Data JPA-repository-Methode?
Ist es möglich, beide zu verwenden @Query
annotation und Spezifikation, die in einem repository-Methode? Zum Beispiel würde ich gerne eine Methode wie diese:
@Query(value="SELECT e from EMPLOYEE where firstName <> ?1")
public Page<Employee> findEmployeeBySomethigFancy(String firstName, Pageable pageable, Specification<Employee> emp);
Ist es möglich oder sollte Baue ich die ganze Abfrage als Predicate
und entfernen Sie die @Query
annotation?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst möchten Sie vielleicht, um diese zu Lesen blog-post ersten. Zweite, nach den
JpaSpecificationExecutor
Schnittstelle, die Ihre repositories implementieren sollten, können Sie die folgenden Abfragen ausführen mit Spezifikationen:count(Specification<T> spec)
List<T> findAll(Specification<T> spec)
Page<T> findAll(Specification<T> spec, Pageable pageable)
List<T> findAll(Specification<T> spec, Sort sort)
T findOne(Specification<T> spec)
So müssen Sie nicht mischen
@Query
(oder query-Methoden) undSpecification
s.Können Sie ausdrücklich diese Bedingung:
mit einem
Specification
statt. Dann können Sie kombinieren, wie viele Spezifikationen, wie Sie wollen.