[Seasar-user:21091] S2DAO SQLのスマートな記述方法について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 10月 20日 (木) 18:58:34 JST


いつも大変お世話になっております。
pianyi と申します。 


現在、S2DAOを使用し、SQLファイルの記述を行っております。
やりたい事の実現は出来たのですが、もっと良い記述方法は無いでしょうか。


実際のSQL:
SELECT *
  FROM XXXX
/*BEGIN*/
 WHERE
    /*BEGIN*/
    (
      /*IF form.searchB != null && form.searchB != "" */XXXX.B = 2/*END*/
      /*IF form.searchC != null && form.searchC != "" */OR XXXXX.C = 3/*END*/
    )
    /*END*/
    /*IF form.searchB != null && form.searchB != "" *//*END*/
    /*IF form.searchC != null && form.searchC != "" *//*END*/
    /*IF form.searchA != null && form.searchA != "" */AND XXXX.A = 1/*END*/
/*END*/
;

同じ条件が2箇所に必要で、且つ下の方は出力内容の無いIF文になっています。

下記URLの記述を見て試してみましたが、うまく動作しませんでした。(記事が古すぎますよね…)
http://d.hatena.ne.jp/higayasuo/20040510/1084142290

条件Aのみ、条件A+B+C、条件B+Cのみ、条件なし の全パターンでSQLが実行され
且つ、もっとスマートな記述方法がありましたらご教授願います。

以上、よろしくお願いいたします。



開発環境: 
・Java1.6.0_24 
・Oracle11g
・s2-dao-1.0.51.jar 
・s2-extension-2.4.44.jar 
・s2-framework-2.4.44.jar


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