私はHibernateを初めて使いました。私はJavaで簡単なムービーファインダーアプリを作成しています。私はキーワードのリストで映画を検索する私のDAOのクエリをする必要があります。私はSQLでそれを行う方法を知っていますが、これを行うためのHQLクエリを作成する方法があるかどうか疑問に思っていました。 HQLでこのクエリを実行する方法はありますか?
SELECT *
FROM movies
WHERE name LIKE '%keyword1%' OR name LIKE 'keyword2' ...
だから、これはすべてのリストトラフ反復処理し、キーワードごとにクエリを連結する必要がある達成するために:DAOでのJavaメソッドはkeyowrdsのリストで、SQL文は、このようなものですリストを受け取ります。
このクエリをHQLでよりシンプルにすることができるので、キーワードのリストをqueクエリに渡すことができますので、LIKE文で使用できますか?
ありがとうございました。
こんにちは、あなたの答えをありがとう! SQLワイルドカード "%"を使用する必要があるので、キーワードリストを繰り返して、右にクエリ文字列を作成するだけです。また、パラメータを正しく設定するためには、リストをもう一度繰り返す必要がありますか?ありがとう! –
はい。しかし、同じ反復でパラメータを作成することもできます。 – Thihara
その場合、 'named'パラメータの代わりに標準の'? 'パラメータを使うほうが簡単かもしれません。 – Thihara