3.5 DbjFetchInfoインターフェース

DbjFetchInfoインターフェースは,検索結果取得情報を扱うインターフェースです。検索結果の取得開始位置,取得件数および最大取得件数などを取得,設定するメソッドを提供します。また,キャッシュ検索の実行時に使用するキャッシュ名およびキャッシュキーを取得,設定できます。

キャッシュ検索を実行すると検索結果がキャッシュされ,以降の検索では検索結果キャッシュから検索結果を取得できます。検索結果キャッシュは,同一セッションの同一キャッシュ名に対して有効です。

直接のスーパーインターフェース
  • java.lang.Cloneable
    DbjFetchInfoインターフェースのcloneメソッドは,ディープコピーを実行します。
プロパティ一覧
DbjFetchInfoインターフェースで扱うプロパティの一覧と,各プロパティに対するgetterメソッドおよびsetterメソッドを表3-4に示します。

表3-4 DbjFetchInfoインターフェースで扱うプロパティ

プロパティ名データ型getterメソッドsetterメソッド
cacheKeyint型getCacheKeysetCacheKey
cacheNameString型getCacheNamesetCacheName
cacheTotalint型getCacheTotalsetCacheTotal
comparatorComparatorgetComparatorsetComparator
fetchCountint型getFetchCountsetFetchCount
maxFetchCountint型getMaxFetchCountsetMaxFetchCount
startIndexint型getStartIndexsetStartIndex
プロパティ詳細
  • cacheKeyプロパティ
    キャッシュ検索の実行時に,検索結果キャッシュの整合性をチェックするためのキーです。キャッシュキーはINT型の値で,再検索を実行して検索結果キャッシュが更新されるごとにインクリメントされます。キャッシュ検索を実行しない時,またはキャッシュ検索の初回実行時は無効です。
    指定したキャッシュキーと検索結果キャッシュに保持されているキーが一致した場合は,データベースへはアクセスしないで,検索結果キャッシュから検索結果を取得します。キャッシュキーが不一致の場合は,データベースを再検索して検索結果を取得します。このとき,検索結果キャッシュは更新されます。
    キャッシュ検索を実行しない場合(データベースを再検索する場合)は,キャッシュキーにDbjDef.INITIAL_KEYを指定してください。
    初期値はDbjDef.INITIAL_KEYです。
  • cacheNameプロパティ
    検索結果のキャッシュ名を表します。キャッシュ検索を実行する場合に指定します。nullまたは「""」(空文字列)を指定すると,キャッシュ検索を実行しません(検索結果はキャッシュされません)。
    初期値はnullです。
  • cacheTotalプロパティ
    キャッシュ検索の実行時に設定される検索結果キャッシュの全件数を表します。
    初期値は0です。
  • comparatorプロパティ
    検索結果取得時に検索結果キャッシュの内容をソートする場合に使用する,java.util.Comparatorインターフェースを表します。nullを指定すると,検索結果キャッシュの内容はソートされません。
    初期値はnullです。
    検索結果キャッシュの内容をソートする際には,java.util.Comparator#compareメソッドを実装して,検索結果の要素を比較する必要があります。また,java.util.Comparator#equalsメソッドを実装して,検索結果キャッシュに保持されているコンパレータと,今回の検索結果のコンパレータが等しいかどうかを判定する必要があります。コンパレータが等しいかどうかを判定する対象には,異なるインスタンスのコンパレータを指定してください。
    コンパレータが等しいかどうかを判定した結果,等しい場合は,検索結果キャッシュはソートされません。等しくない場合は,検索結果キャッシュがソートされます。なお,キャッシュキーが一致している場合で,コンパレータが等しくないときは,データベースへの再検索は実行されないで,検索結果キャッシュのソートだけが実行されます。
  • fetchCountプロパティ
    検索結果の取得件数(検索結果を実際に何件取得するか)を表します。最大件数を取得したい場合は,DbjDef.MAX_NUMを指定します。
    キャッシュ検索では,検索結果キャッシュに保持している件数以上は取得できません。
    初期値はDbjDef.MAX_NUMです。
  • maxFetchCountプロパティ
    キャッシュ検索を実行する場合に,検索結果の最大取得件数(検索結果を最大で何件まで取得するか)を指定します。最大件数を取得したい場合は,DbjDef.MAX_NUMを指定します。
    初期値はDbjDef.MAX_NUMです。
  • startIndexプロパティ
    検索結果の取得開始位置を表します。開始位置は0から始まるインデクスで指定します。
    キャッシュ検索では,検索結果キャッシュ上の開始位置を表します。
    初期値は0です。

以降,DbjFetchInfoインターフェースのメソッドについて説明します。

<この節の構成>
3.5.1 getCacheKey(キャッシュキーの取得)
3.5.2 getCacheName(キャッシュ名の取得)
3.5.3 getCacheTotal(検索結果キャッシュの全件数の取得)
3.5.4 getComparator(Comparatorインターフェースの取得)
3.5.5 getFetchCount(検索結果の取得件数の取得)
3.5.6 getMaxFetchCount(検索結果の最大取得件数の取得)
3.5.7 getStartIndex(検索結果の取得開始位置の取得)
3.5.8 setCacheKey(キャッシュキーの設定)
3.5.9 setCacheName(キャッシュ名の設定)
3.5.10 setCacheTotal(検索結果キャッシュの全件数の設定)
3.5.11 setComparator(Comparatorインターフェースの設定)
3.5.12 setFetchCount(検索結果の取得件数の設定)
3.5.13 setMaxFetchCount(検索結果の最大取得件数の設定)
3.5.14 setStartIndex(検索結果の取得開始位置の設定)