[Seasar-user:4313] Re: S2JDBCにS2Daoの構文解析などを付加させている方はいらっしゃいますか

m.matsuo [E-MAIL ADDRESS DELETED]
2006年 8月 10日 (木) 00:43:48 JST


江川さんはじめまして。松尾と申します。

現在使用しているアプリケーションには適用していないのですが、
次回アプリケーションを作成する際には私はS2DaoよりS2JDBCを推したいと思っています。

理由はS2Daoをプロジェクトとして適用する際に、学習コストが高いと判断したからです。
S2Daoは基本的にSQLレスで複雑なSQLを記述するときはSQLファイルを作成するというものですが(この認識あってますよね?)、SQLファイルにも記述の仕方に色々とルールがあって、それを覚えなければなりません。
それとトラブルが起こった際に対応が容易ではないということです。Seasarは比較的コミュニティが活発でMLでの質問の回答も早いのですが、切羽つまっているプロジェクトのトラブルはより迅速な対応が求められます。

それよりはXML等にSQLを全て書いてしまってS2JDBC経由でアクセスするほうが学習コストが少なく、自分で仕組みを作ってしまえば柔軟に対応できると判断した為です。

この場合でもXMLの記述方法は覚えて貰わなければなりませんが…。
<sql>
    select * from emp where
    <bean name="empbean" property="hoge" null="false">
        hoge=hoge
    </bean>
</sql>
みたいな。上記設定SQLファイルは適当です。
S2Daoに精通した人員がいればS2Daoを採用するのもよいのですが、私のようにS2Daoは勉強不足・かつDBUtilsに慣れている・この程度のXMLファイルをパースしてSQL文を生成できる仕組みを作ることができるのであればS2JDBCを使うメリットは十分にあると思います。
少なくともDBアクセスに関する仕組みのブラックボックスは完全になくなりますし。パフォーマンスチューニングが必要なSQLも簡単に変更することができます。
自動生成されたSQLだと別途SQLファイルを作成することになります。

どうでしょうか、私自身の見解を示してみましたが参考になりましたでしょうか?

もっといい仕組みがある、もしくは「やっぱりS2Daoだよ!」等の意見がありましたら、何かしらの反応をよろしくお願い致します。

06/08/09 に EGAWA Takashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
>
> 江川です。お世話になっております。
> 自己レスです。
> DaoにBEANアノテーションで指定するJavaBeans(エンティティ)は、
> 実テーブルと紐付いて(TABLEアノテーションを記述して)いなければ
> ならないものと勘違いしておりました。
>
> どんな複雑なSELECTのSQLであっても、その結果セットのカラムと同じ項目を
> 持ったJavaBeansを用意し、そのJavaBeansの指定および、SELECTを
> 実行するメソッドだけをDaoに定義すれば、「テーブル(foo)が見つかりません」
> という警告は出るものの実現できることが今わかりました。
>
> となると、私が今やろうとしている範囲の中では、S2JDBCを使う意義
> (S2JDBCからわざわざSelectDynamicCommandを使う必要性)はなく
> なりそうです。
>
> ところで、現在もS2Daoを使わずにあえてS2JDBCを使われている方は、
> いらっしゃるのでしょうか。
> いらっしゃいましたら、どのようなケース・理由で利用されて
> いるのでしょうか。
> もし宜しければお教え頂ければと思います。
> 以上です、よろしくお願いします。
>
> ┼────────────────────────┼
> │江川 崇 (EGAWA Takashi)
>[E-MAIL ADDRESS DELETED]
> ┼────────────────────────┼
>
> >
> > 江川と申します。
> > 検索系の処理を実装するにあたり、一部S2JDBCを用いていますが
> > S2Daoの機能であるSQLファイルの構文解析が便利なので、
> > SelectDynamicCommandを利用するHandlerを作成して実現するような形で
> > 実装してみようかと考えています。
> >
> > S2JDBCにSelectDynamicCommandを組み入れることは容易に実現できそうな気が
> > するし、すぐ思いつきそうだとも思ったのですが、Google等で検索してみても
> > 同じ事をされている方を発見することが出来ませんでしたので少々不安に
> > なりました。
> >
> > 複雑に絡み合ったテーブルに対するjoinをS2DaoではなくS2JDBCで実現する
> > ことは充分ありえる事と思われ、その中である程度動的にSQLを生成したいと
> > いう現場の要望はあってもおかしくないような気がしています。
> >
> > このような形でS2JDBCを利用されている、あるいは利用されたことのある方は
> > いらっしゃいますでしょうか。
> >
> > つきましては、表題のような使い方をされている方がいらっしゃいましたら
> > そのご意見を伺いたくメールをお送りした次第です。
> >
> > 宜しくお願いいたします。
> >
> > ┼────────────────────────┼
> > │江川 崇 (EGAWA Takashi)
> > │     [E-MAIL ADDRESS DELETED]
> > ┼────────────────────────┼
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://www.seasar.org/mailman/listinfo/seasar-user
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user
>



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