[Seasar-user:2334] Re: 【 S2Dao 】 [ 要望 ] OrderBy の動的生成 ( 埋め込み変数コメント ) について
上原 慶三
keizou
2005年 7月 7日 (木) 02:09:48 JST
上原です。
> しかし、OrderBy指定が不要な場合もあります。
> 最初は、OrderBy指定が無しの場合は主キーの昇順でDefaultソートと
> 考えていましたが、現在のプロジェクトのSQL規約で
> 「不要なOrderByは付加しない」とあるので(当然と言えば当然か!?)、
> やはり、「OrderBy指定が無しの場合はOrderBy句は生成されない」が良いと
> 思い、以下の様に考えました。
>
> public String selectList_QUERY = "/*BEGIN*/order by/*$dto.orderByString*//*E
> ND*/";
>
> しかし、2点問題があります。
>
> 1. DaoMetaDataImpl#startsWithOrderBy()がfalseを返し、Where句として
> 処理されてしまう。
>
> 独自(次バージョンよりOverride)のDaoMetaDataImplで、
> startsWithOrderBy()判定に"/*BEGIN*/order by"を付け加えることで
> 解決できます。
>
> 2. /*BEGIN*/は、IFコメントを対象とするので、
> /*IF dto.orderByString != null*/ このように記述しなければならない。
>
> “1”の解決を"/*BEGIN*//*IF dto.orderByString != null*/order by..."に
> すればうまく動作しますが、思いっきりプロパティ名に依存してしまいます。
>
>
>
> このやり方で不可能では無いのですが、主義としてあまりS2Dao本体を
> 改造したくありません。もしよろしければ、「OrderBy句を動的に生成したい」
> という要望として対応して頂けませんでしょうか?
これって、startsWithOrderBy()がSQLコメントを無視して判定するようにすれば
解決できないですかね。なんか他に影響出るかな?
ちょっとやってみます。
#S2Dao採用がかかってるのなら対応しないわけに行かないですね。
#ところで次のS2Daoリリース日どうします?
#sourceforgeのBTSでターゲットマイルストーン指定できればいいんだけど。
---
上原 慶三<[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内