S2DaoとS2JDBC

S2JDBCは、どんな所がSAStrutsに最適化しているのか?


SAStruts + S2JDBC
Teeda + S2DAO


これがよく言われている黄金?コンビなのかもしれませんが
その理由は?と聞かれると、私のようなSeasar初心者は
返答に臆すると思います。

Teeda + S2Dao の組み合わせですが、Teedaの画面周りのデータ構造はフラットであり、フラットなSQLの結果セットであるS2Daoの2WaySQLとの相性が良いと考える人がいるかも知れません。


しかし、S2JDBCの機能はS2Daoの機能を包括しているので、Teeda + S2JDBCでも良いと個人的には考えています。


S2JDBCは「流れるようなインターフェース」のインパクトが強いためか、時々、勘違いされている人を見かけるのですが、S2JDBCでもS2Daoと同じ構文で2WaySQLを使うことができます。(しかも、S2JDBCの2WaySQLはS2Daoのものよりも地味に進化しています。)


さらに、全てのデータアクセス処理を2WaySQLで処理すると開発コストが高くなってしまうので、SQL自動生成機能を併用すると思います。2WaySQLとSQL自動生成機能については、排他関係ではなくて、使い分けの比率が大切です。(簡単なデータアクセスはSQL自動生成、複雑なデータアクセスは2WaySQLが基本。)そして、より生産性が高いSQL自動生成機能の適応範囲が増えることがトータルの生産性向上に繋がると考えています。


このように考えると、S2DaoSQL自動生成機能よりもS2JDBCSQL自動生成機能の方が圧倒的にパワフルなので、トータルの生産性はS2DaoよりもS2JDBCの方が高くなると考えています。