« 傲慢なLマークとレコード業界 | トップページ | HQLでinsert(準備稿) »

2008年2月22日 (金)

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 の部分を必ず()で囲む

そんなにひねくれてないかもしれないけど、自分は②が分からずに相当苦労した。
知っていればああそうですむ話(^^;

|

« 傲慢なLマークとレコード業界 | トップページ | HQLでinsert(準備稿) »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/42837/10686098

この記事へのトラックバック一覧です: HQLでINを使用して配列で検索:

« 傲慢なLマークとレコード業界 | トップページ | HQLでinsert(準備稿) »