HQLでINを使用して配列で検索
HQLでINを使用して配列で検索する方法にクセがあったのでまとめです。
…分かりづらい表題で申し訳ない。
※例では架空のHTTPのアクセスログからレコードを検索しています。
◆基本パターン
db_session.createQuery("from AccessLog log where log.url in ('/index.html','/infomation.html')");
ここでURLを変更できるようにしたいと思う…。
String[] url_list = {'/index.html','/infomation.html','/link.html'};
db_session.createQuery("from AccessLog log where log.url in (:urls)").setParameterList("urls",url_list);
ポイント:
① setParameterList メゾットを利用してパラメータを設定する
② :urls の部分を必ず()で囲む
そんなにひねくれてないかもしれないけど、自分は②が分からずに相当苦労した。
知っていればああそうですむ話(^^;
| 固定リンク | コメント (0) | トラックバック (0)

最近のコメント