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 |
データが存在しないことを表す例外クラス。
データが取得できるはずなのに取得出来なかった場合に発生する例外。
|