2017-05-30 6 views
0

ich eine Suche mit JPA Abfrage mit Spring Data wie dieses:Suchbegriff Zeichenfolge JPA fragt

Mein Interface Repository:

public interface AnnonceDao extends JpaRepository<Annonce, Integer> { 
    Page<Annonce> findByTitreContaining(String titre,Pageable page); 
} 

wenn ich nach so etwas wie Hallo Freund ich alle Entitäten, die Hello Friend verkettet haben, möchte ich etwas zu bekommen Freund Hallo auch oder eine Entität, die Hallo oder Freund enthält. was ich als Query verwenden kann, danke für deine Hilfe.

Antwort

0

sollte diese Arbeit:

public interface AnnonceDao extends JpaRepository<Annonce, Integer> { 
    Page<Annonce> findByTitreContainingAndTitreContaining(
     String part1, 
     String part2, 
     Pageable page 
    ); 
} 

Wenn die Anzahl der Begriffe, die Sie bei der Kompilierung unbekannt ist geben wollen, wie Sie im Kommentar erklären Sie Specifications verwenden können.

Damit bleibt die Aufgabe, die Spezifikation für den Client des Repositorys zu erstellen. Wenn Ihnen das nicht gefällt, können Sie eine benutzerdefinierte Methode bereitstellen und dynamisch eine Abfrage erstellen. Auch hier haben Sie die Wahl von mehreren Technologien:

  • SQL
  • JQL
  • QueryDsl

QueryDsl looks actually really nice und lesbar, wie Sie im Beispiel linken sehen können.

+0

danke Jens für deine Antwort, tatsächlich ist die Anzahl der Wörter bekannt, es ist Art der Suche, also habe ich keine Anzahl von Wörtern in meiner Zeichenfolge. –