Ich bin neu in Hibernate und ich erstelle eine einfache Film-Finder-App in Java. Ich muss eine Abfrage in meinem Dao machen, um Filme nach einer Liste von Schlüsselwörtern zu suchen. Ich weiß, wie man es in SQL macht, aber ich frage mich, ob es eine Möglichkeit gibt, eine HQL-Abfrage zu machen, um dies zu tun. Die Java-Methode in der dao erhält eine Liste, die eine Liste von keyowrds ist und die SQL-Anweisung wie folgt aus:Gibt es eine Möglichkeit, diese Abfrage in HQL zu tun?
SELECT *
FROM movies
WHERE name LIKE '%keyword1%' OR name LIKE 'keyword2' ...
So notwendig dies zu erreichen, die ganze Liste iterieren Trog und die Abfrage für jedes Keyword verketten.
Es ist möglich, diese Abfrage in HQL einfacher zu machen, damit Sie eine Liste von Schlüsselwörtern an die Abfrage von que übergeben können, damit sie diese mit der LIKE-Anweisung verwenden kann?
Danke.
Hallo, vielen Dank für Ihre Antwort! Ich muss den SQL-Platzhalter "%" verwenden, also besteht die einzige Möglichkeit darin, die Schlüsselwörterliste zu iterieren und die Abfragezeichenfolge auf der rechten Seite zu erstellen? Außerdem muss ich die Liste ein zweites Mal wiederholen, um die Parameter richtig einzustellen? Vielen Dank! –
Ja. Sie können die Parameter jedoch auch in derselben Iteration erstellen. – Thihara
In diesem Fall könnte es einfacher sein, die Standard '' '- Parameter anstelle von' benannten' Parametern zu verwenden. – Thihara