EJB-QLでは次のようなクエリを作成しようとしています。
SELECT *
FROM table
WHERE id IN ([id1],[id2],[id3],...);
これはoracleまたはmysqlの通常のクエリですが、EJB-QLでパラメータをリストとして設定するにはどうすればよいですか?
SELECT o
FROM ClassName
WHERE ClassNameId IN (List<Long> listOfIds);
これを行う方法はありますか?
さらに重要なことは、これはリスト内のIDごとに個別のクエリを実行するよりも効率的でしょうか?
任意の提案をいただければ幸いです。
編集:わかりやすくするために、IDのリスト(テーブル全体ではなく、別のテーブルの内容ではなく、任意のIDのリスト)に基づいて複数の行を返すように1つのクエリを実行しようとしています。通常の検索クエリを複数回(リスト内のIDごとに1回)実行するのではなく、このクエリを1回実行できることを望んでいます。
ありがとう、
ジム