| Interface | Description |
|---|---|
| DaoContext |
UniversalDaoの実行コンテキスト。
ページネーションのためのページ数などを状態としてもつ必要があるので、
このコンテキストを介してSQLの実行処理が行われる。 |
| Class | Description |
|---|---|
| DeferredEntityList<E> |
遅延Entityリストを表すクラス。
本クラスでは、データベースの検索結果をクライアントカーソルとして保持するのではなくサーバサイドカーソルとして保持する。
そのため、必要な処理が終了したタイミングで
#close()メソッドを使用し、リソース解放を行うこと。
検索結果は、DeferredEntityList.iterator()で取得したIteratorを用いて取得する。
Iterator.next()を呼び出したタイミングで、
ResultSet.next()を呼び出し次レコードの値を返却する。
DeferredEntityList.iterator()の複数回呼び出しはサポートしない。
これは、ResultSet.TYPE_FORWARD_ONLYのカーソルしかサポートしないため、
一度読み込んだレコードを再度読み込むことは出来ないためである。
本クラスでは、DeferredEntityList.iterator()のみサポートする。
これ以外のメソッドが呼び出された場合は、UnsupportedOperationExceptionを送出する。 |
| EntityList<E> |
UniversalDaoから返される結果リストの保持クラス。
ページネーションのためのページ数や検索条件に一致した件数なども本クラスで保持する。 |
| UniversalDao |
汎用的なDAO機能を提供するクラス。
以下の機能を提供する。
主キーを条件にしたSELECT・UPDATE・DELETE文と、INSERT文をEntityクラスから自動生成して実行する。
SQLを実行する
検索結果をBeanにマッピングする
ページングのための検索を行う
検索時に遅延ロードを行う
EntityはJPA2.0のアノテーションに準拠する。
サポートしているものは、以下である。
Entity
Table
Column
Id
Version
Temporal
GeneratedValue
SequenceGenerator
TableGenerator
|
| Exception | Description |
|---|---|
| NoDataException |
データが存在しないことを表す例外クラス。
データが取得できるはずなのに取得出来なかった場合に発生する例外。
|