[Seasar-user:2333] Re: 【 S2Dao 】 [ 要望 ] OrderBy の動的生成 ( 埋め込み変数コメント ) について

久保 雅彦 jazzflute
2005年 7月 7日 (木) 00:31:15 JST


久保です。

すいません。2度目の長文です。

> sqlファイルに
>    select col1,col2,col3...
>    from tableName1
>    /*IF dto.orderByString != null*/
>        order by /*$dto.orderByString*/col1
>    /*END*/
> こんなんでどうですか?
レスありがとうございます。
ただ、自分の説明不足だったかもしれません。申し訳ございません。

自分がこだわりたいのは、DTOによるAND条件の自動生成を
利用してのOrderByの動的変化なので、[.sql]は利用しない場合で
どうしても出来ないだろうかと悩んでいる次第であります。


なぜ、「DTOによるAND条件の自動生成」にこだわるかというと、
Dao-classとEntity-classをデータベースのメタ情報より自動生成する
ツールを作成しているからです。そして、自動生成されるDaoの中に
“DTOによるAND条件の自動生成”で検索するメソッドを用意します。
(DTOも自動生成します)

これにより、プログラマは、どのテーブルでも一律、
副問い合わせやGroupingを利用しない「AND条件だけで構成される」検索を、
すぐに利用することができます。(FKのLeftOuterJoinの恩恵も得られる)

今度のプロジェクトで、かなり大規模にS2Daoを採用されるという話があり、
簡易な検索は[.sql]ファイルを作成せず自動生成メソッドを利用し、
複雑な検索は[.sql]ファイルでしっかり書く。という方針になっています。
(というかそれが実現できないとS2Daoの採用が危うい)

ほぼ9割は出来上がってはいるのですが、OrderByだけがネックになってい
ました。最初は「selectListOrderByPKAsc()」「selectListOrderByNameDesc()」
など、OrderByの種類ごとにメソッドを作成していたのですが、それは
あまりにひどいので、利用するプログラムがOrderByを決定できるよう
考えました。

但し、あまりS2Dao本体をカスタマイズするとPureなS2Daoでなくなるので、
それもまたS2Dao採用を危ぶむ要因になってしまいます。
その色々模索した結果として、埋め込み変数コメントの/*BEGIN*/は
どうだろう?と行き着いたのです。


-- 
久保 雅彦 <[E-MAIL ADDRESS DELETED]>




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