きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

こんなDAOはどうだろう

1レコード単位でイテレートするのって、単純すぎやしないだろうか?
指定件数の複数レコードを配列/リストで保持して返すDAOとか??
すでに世の中にあると思うんだけどな・・・。
ソート条件に関するソートキー値が変わるところまでを返すDAOとか?
ビジネスロジックで書けることをDAO側に役目を負わすって変な気もするが、
それはソート条件についてのほうだけの考えで、
指定件数というのはフレームワーク的な役目の範囲に少し含まれる可能性があると思う。

件数を指定することのメリットは何だろうか?
hasNext()回数が減るか?答えは増える。
帳票などの「明細行数」という考えがある代物には効果を発揮しない?
よく考えたら、残ってるデータをDAOが持つってことは、
DAOがsingletonで持てなくなるってことだからダメじゃないか。

ResultSetとPreparedStatementを保持していて、
指定件数分を一度に返してくれるような特殊なIteratorを実装していて、
先頭レコードや末尾レコードへ移動可能、
当然、1レコード前へや指定レコード分前へも可能で、
検索条件が変わらない前提でクエリを再実行することも可能で、
ResultSetとPreparedStatementをcloseする方法を提供してくれるってのはどうだ??
DAOから生成されるサブDAOってイメージだな。
DatasourceやConnectionの問題とか起こるかな??

よし、家で作ってみようw
JavaAPIオンリーで。
こういうのがこつこつと技術力向上に繋がると思う。