Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

O/Rフレームワーク

導入しようか迷っているのがふたつ・・・。

  1. S2Dao
  2. Mr.Persister

両者XMLを不採用。
両者2waySQLを採用。
ハッキリいって2wayできんORMは使い物になりません。ハイ。
2wayマンセーです。ハイ。
2way使えないフレームワークを使っている人は昔のEJBの二の舞になって下さい。
(性能なんて出せるか!って言っててください)
で機能的に言うと正直S2の方が優れてます。
S2の方は

  1. SQLファイルとのMappingが自動である。(メソッド名でマッピング
  2. SQLコメントを利用した自由度の高い動的SQLの作成
  3. SQLコメントを利用したバインド変数へのバインド
  4. 自動で作成したSQLを更に変更可能

とかなり自由度高いです。
POJOとDaoインターフェイスを書くだけ使えるだけでも便利なのに!
但し!
DaoはAOPで作られているのでS2Container必須になります。
なーんだー。期待させやがってー。
S2依存かよー。
個人的にSQLコメントを利用した動的SQL作成は複雑な条件、テーブル結合条件(結合テーブル数が変わるなど)に対して対応できないんじゃないかなと思います。
よくわかってませんが外からSQLを渡すインターフェイスがあれば良いですがないのであればちょっと辛いかも知れません。
あと、SQLファイルは一枚のpropertyiesファイルにならないもんかと。
(もうできてんのかも!?)
あとやっぱS2をまず採用してもらえないと。
(ここがもんだいかもなー)
今回はS2を採用しないのでMr.Persister+拡張。
DI(AOP)使わないのでシンプルで判り易いし。
でもしっかしS2Daoの評価が低いような気がする。
明らかにHibernateより使い易いのに。
これが使いたいがためにS2採用してるところも多いでしょうし。
うくく。