S2Dao

調子にのって S2Daoも試してみました。

http://www.seasar.org/s2dao.html

「Seasarにさわるさー S2DAO
http://muimi.com/j/aop/seasar/s2dao/

も参考にしながらやってみましたが,動きませんねえ…。クエリをなげると NullPointerExceptionが返ってきます。エラー自体は S2Daoで出ているので何が悪いのかもさっぱりわかりません。
とりあえず動かすのは諦めて,思想だけでもまとめると

  • データベースのテーブルと Javaクラスとのマッピングも JavaBeansでおこなう。メソッドのネーミングを S2Daoのルールに従ってつけてもらうことで実現します。
  • SQLもかけます。外出しのファイルとして管理できるのでうれしい。

となります。やっぱり O/Rマッピングではマッピングの方法を何でやるかがポイントなんですかね。

一般的に考えると,記述すべき内容はソースコード内で完結できればそれに越したことはないはず。設定ファイルが必要なのはパラメータの中には外部から与えたほうが便利な場合,あるいはそうじゃないと使い物にならない場合が存在するためです。

じゃあマッピングルールは本来,コード内で処理すべきなんでしょうか,それとも外部から制御すべきものなんでしょうか。外部から制御する,すなわちリコンパイルの必要がないというのが後者の大きなメリットですが,マッピングの変更,例えば DBスキーマに変更があった場合は,それに関連する処理コードに手を入れないといけない可能性が高いように思いますので,あまりこのメリットは享受できないかもしれません。

となると,あるべき論からいくと,O/Rマッピングはソースコード内でおこなうのがいいんでしょうね。ネーミングルールで縛るのが最適解かどうなのかはわかりませんが。

と,考えてみました。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください