Gibt es bei Spring Data JPA eine Namenskonvention für „Mitglied von“?
-
21-12-2019 - |
Frage
Spring Data JPA erstellt eine Reihe von Abfragen basierend auf der Namenskonvention der Schnittstellenmethoden.Gibt es eine Namenskonvention, um a „MITGLIED VON“-Abfrage?
Ich kann Folgendes mit JPQL zum Laufen bringen:
@Query("select e from MyEntity e where ?1 member of e.entities")
Ich würde jedoch nach Möglichkeit gerne eine Namenskonventionsmethode verwenden.Ich konnte in den Dokumenten nichts dazu finden, also hoffe ich, dass ich einfach etwas übersehe.Wenn es einen fundamentalen Grund dafür gibt, dass es dafür keine Methoden geben kann, würde mich das auch interessieren.
Lösung
Skimming der neuesten Version dieses Dokuments Es sieht nicht so aus, als ob es gibt.Hier sind die verfügbaren Methodennamenschlüsselwörter:
Andere Tipps
Ich scheine, dass die Dokumentation darüber unvollständig ist Containing
(IsContaining
, Contains
) Stichwort.
https://dzone.com/refcardz/core-spring-data erweitert die Dokumentation wie folgt:
ENTHÄLT:Enthält, IsContaining, Enthält (String oder Sammlungstypen nur)
So können Sie das nutzen Containing
Schlüsselwort als Ersatz für member of
.
Zum Beispiel:
// select e from MyEntity e where ?1 member of e.entities
findByEntitiesContaining(TypeOfMember member);