[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 メーリングリストの案内