Dao構想その1

ベース構想はRoRのようにできるかぎり設定を書かないで済むようにすること。

将来的には構成しなおす必要があるけど、まずは動かすことを目標に、

  • 最初のサポートDBはDerbyのみとする。テストが簡単だからね;-p
  • javax.sql.DataSourceは当初サポートせず、java.sql.Driverだけサポートとする。
  • コネクションプーリングもサポートしない。必要になったら、外部ライブラリに依存するか自作するか考える。
    • 基本線は自作かな。ライセンスの都合もあるし。
  • Daoはinterfaceで定義する。S2Daoのようにselect*,insert*,update*,delete*で始まるメソッドをダイナミックプロキシで実装を提供する。
    • S2Daoのような外部SQLはサポートしない。賛否両論あるけど、複雑になるわりにフレームワークの恩恵があまりないケースな気がするので。
  • ドライバ/URL/ユーザ名/パスワードはDaoにプロパティとして定義する。将来的にはもちろん外部ファイルに追い出す。
  • entityはclassで定義する。ここをinterfaceにしたところで旨味がないし、面倒なだけなので。
    • RoRのように、entityからの外部entity(1:1,1:nのような)はサポートしたい。これがあるだけでも旨味が増す。