[Seasar-user:13563] Re: [DBFlute]ORの実現方法について

Taro Unno [E-MAIL ADDRESS DELETED]
2008年 4月 4日 (金) 11:39:21 JST


久保さん

>  要は単一主キーなら、in ('A', 'B', 'C', ...)とできるところが
>  複合主キーで上記のようなSQLにならざるを得ないという
仰る通りです。

早速のご回答、ありがとうございました。
助かりました。

海野


08/04/04 に kubo<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 久保です。
>
>  海野さん、こんにちは
>
>
>  >  http://ml.seasar.org/archives/seasar-user/2007-July/008884.html
>  >  ここにもあるとおり、業務上、つなげる数に上限があるなら
>  >  ベタでバインド変数を書くという選択肢があるが、
>  >  上限がない(ベタで書くには多すぎる)場合は
>  >  埋め込み変数でやる、という認識も合っていますでしょうか。
>
>
> なるほど、不定数の条件ということですね。
>  はい、外だしでやる場合は「埋め込み変数でやる」で合っています。
>  0.5.4でも
>
>  @OutsideSql(dynamicAnalysis=true)
>  public List<Xxx> selectListXxx(...);
>
>  で埋め込み変数の中にバインド変数を埋めることができるはずです。
>  (Blogの記事は0.4.2くらいのときの記事ですね)
>
>
>
>  >   (columnA = 'aaaaa' and columnB = 'bbbbb')
>  > or (columnA = 'ccccc' and columnB = 'ddddd')
>  > or (columnA = 'eeeee' and columnB = 'fffff')
>
>
> ちなみに参考までに、こちら「columnAとcolumnB」が
>  複合主キーであることを想定されていますでしょうか?
>
>  要は単一主キーなら、in ('A', 'B', 'C', ...)とできるところが
>  複合主キーで上記のようなSQLにならざるを得ないという
>  ところなのかどうか気になりました。
>  (要件が発生したパターンを把握しておきたいと思いまして)
>
>
>  2008/4/4 Taro Unno <[E-MAIL ADDRESS DELETED]>:
>
> > 久保さん
>  >
>  >  すみません、追加です。
>  >
>  >  http://ml.seasar.org/archives/seasar-user/2007-July/008884.html
>  >  ここにもあるとおり、業務上、つなげる数に上限があるなら
>  >  ベタでバインド変数を書くという選択肢があるが、
>  >  上限がない(ベタで書くには多すぎる)場合は
>  >  埋め込み変数でやる、という認識も合っていますでしょうか。
>  >
>  >  宜しくお願い致します。
>  >  海野
>  >
>  >
>  >
>  >
>  >
>  >  08/04/03 に kubo<[E-MAIL ADDRESS DELETED]> さんは書きました:
>  >
>  >
>  > > 久保です。
>  >  >
>  >  >  海野さん、こんばんは
>  >  >
>  >  >
>  >  >  >  where
>  >  >  >    (columnA = 'aaaaa' and columnB = 'bbbbb')
>  >  >  >  or (columnA = 'ccccc' and columnB = 'ddddd')
>  >  >  >  or (columnA = 'eeeee' and columnB = 'fffff')
>  >  >
>  >  >
>  >  > 0.5.4でも最新版(0.6.7)でも、
>  >  >  Union()を利用するか外だしSQLとなります。
>  >  >  (データ件数次第ではありますが、パフォーマンスを
>  >  >  気をつけた方がよいSQLになりますので)
>  >  >
>  >  >  ※[Seasar-user:13422]はLike検索の限定的なパターンとなります。
>  >  >
>  >  >
>  >  >  2008/4/3 Taro Unno <[E-MAIL ADDRESS DELETED]>:
>  >  >
>  >  > > 海野と申します。
>  >  >  >  お世話になります。
>  >  >  >
>  >  >  >  DBFluteについて質問させてください。
>  >  >  >  あるテーブルで、
>  >  >  >
>  >  >  >  where
>  >  >  >    (columnA = 'aaaaa' and columnB = 'bbbbb')
>  >  >  >  or (columnA = 'ccccc' and columnB = 'ddddd')
>  >  >  >  or (columnA = 'eeeee' and columnB = 'fffff')
>  >  >  >  ...
>  >  >  >  ..
>  >  >  >  .
>  >  >  >
>  >  >  >  というSQLをDBFluteで実現するにはどうすればよいでしょうか。
>  >  >  >  orはunionで代用するのが方針とのことですが、
>  >  >  >  上記のSQLを実現するパターンが他にもあれば教えてください。
>  >  >  >
>  >  >  >  バージョンはちょっと古くて0.5.4なので、
>  >  >  >  このバージョンで可能かどうかも、併せてアドバイスいただけたら助かります。
>  >  >  >
>  >  >  >  宜しくお願い致します。
>  >  >
>  >  > >  _______________________________________________
>  >  >  >  Seasar-user mailing list
>  >  >  >  [E-MAIL ADDRESS DELETED]
>  >  >  >  https://ml.seasar.org/mailman/listinfo/seasar-user
>  >  >  >
>  >  >  _______________________________________________
>  >  >  Seasar-user mailing list
>  >  >  [E-MAIL ADDRESS DELETED]
>  >  >  https://ml.seasar.org/mailman/listinfo/seasar-user
>  >  >
>  >  _______________________________________________
>  >  Seasar-user mailing list
>  >  [E-MAIL ADDRESS DELETED]
>  >  https://ml.seasar.org/mailman/listinfo/seasar-user
>  >
>  _______________________________________________
>  Seasar-user mailing list
>  [E-MAIL ADDRESS DELETED]
>  https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内