Dao構想その1
ベース構想はRoRのようにできるかぎり設定を書かないで済むようにすること。
将来的には構成しなおす必要があるけど、まずは動かすことを目標に、
- 最初のサポートDBはDerbyのみとする。テストが簡単だからね;-p
- javax.sql.DataSourceは当初サポートせず、java.sql.Driverだけサポートとする。
- コネクションプーリングもサポートしない。必要になったら、外部ライブラリに依存するか自作するか考える。
- 基本線は自作かな。ライセンスの都合もあるし。
- Daoはinterfaceで定義する。S2Daoのようにselect*,insert*,update*,delete*で始まるメソッドをダイナミックプロキシで実装を提供する。
- ドライバ/URL/ユーザ名/パスワードはDaoにプロパティとして定義する。将来的にはもちろん外部ファイルに追い出す。
- entityはclassで定義する。ここをinterfaceにしたところで旨味がないし、面倒なだけなので。
- RoRのように、entityからの外部entity(1:1,1:nのような)はサポートしたい。これがあるだけでも旨味が増す。
配列とMapも限定サポートしてみた
CommonsのBeanUtilsのように、配列とMapも限定ながらサポートしてみた。
もっとも、Daoを作る分には使わないんだけどね。