uCosminexus DocumentBroker Version 5 リファレンス API

[目次][用語][索引][前へ][次へ]

6.1.10 executeSearch検索の実行

<この項の構成>
(1) 機能
(2) 形式
(3) 引数
(4) 戻り値
(5) 例外

(1) 機能

文書空間に対してedmSQL文による検索を実行し,検索結果集合オブジェクトインターフェース(DbjResultSetインターフェース)を取得します。

形式1および形式2では,名前なし検索結果集合を取得します。

形式3および形式4では,名前付き検索結果集合を取得します。

形式2および形式4では,ロック種別を指定できます。ロック種別のデフォルト値は,ロックなし指定(DbjDef.LOCK_NONE指定に相当)です。

形式3および形式4の引数(eqlStatement)には,SELECT句の項目部分に「$_」を使用して記述します。例えば,select $_ from mdmClass_Folder_cのように指定します。また,引数(selectItems)に指定した要素は,「,」(コンマ)で区切られて「$_」に置き換えられます。検索結果集合の列名は,selectItemsで指定した要素になります。SELECT句の項目指定部分は,「$_」だけ使用できます。例えば,select A,$_ from ...と指定すると例外がスローされます。なお,形式3および形式4では,取得される列数とselectItemsの要素数が不一致の場合,例外がスローされます。

(2) 形式

(a) 形式1
DbjResultSet executeSearch(
     String                     eqlStatement,
     List<? extends DbjQParam>  qParamList,
     DbjFetchInfo               fetchInfo
)
(b) 形式2
DbjResultSet executeSearch(
     String                     eqlStatement,
     List<? extends DbjQParam>  qParamList,
     DbjFetchInfo               fetchInfo,
     int                        lockType
)
(c) 形式3
DbjResultSet executeSearch(
     List<String>               selectItems,
     String                     eqlStatement,
     List<? extends DbjQParam>  qParamList,
     DbjFetchInfo               fetchInfo
)
(d) 形式4
DbjResultSet executeSearch(
     List<String>                 selectItems,
     String                       eqlStatement,
     List<? extends DbjQParam>    qParamList,
     DbjFetchInfo                 fetchInfo,
     int                          lockType
)

(3) 引数

selectItems(入力)
要素のデータ型はString型です。SELECT句に指定する項目のリストを指定します。名前付き検索結果集合の列名になります。nullを指定すると例外がスローされます。
eqlStatement(入力)
edmSQL文を指定します。nullを指定すると例外がスローされます。
qParamList(入力)
?パラメタの値を表します。要素は,DbjQParamインターフェースのサブクラスのリストを指定します。NULL値の場合は,要素の値にnullを指定します。?パラメタの指定がない場合は,nullを指定します。
fetchInfo(入出力)
検索結果取得情報の条件を指定します。全件を取得する場合,またはキャッシュ検索をしない場合はnullを指定します。キャッシュ検索をすると,cacheKeyプロパティとcacheTotalプロパティが設定されます。全件を取得しない場合,maxFetchCountプロパティに指定されている件数を取得した後に,comparatorプロパティに指定したコンパレータによりソートされます。そのため,全件を取得する場合と,maxFetchCountプロパティを指定して検索した場合を比較すると,comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。
lockType(入力)
検索結果集合に対して取得するロック種別を指定します。次に示す値のどれかを指定できます。
  • DbjDef.LOCK_NONE
    ロックなし
  • DbjDef.LOCK_READ
    readロック
  • DbjDef.LOCK_WRITE
    writeロック
  • DbjDef.LOCK_READFORUPDATE
    READFORUPDATEロック

(4) 戻り値

検索結果集合オブジェクトインターフェース(DbjResultSetインターフェース)

(5) 例外

DbjAccessControlNotSupportedException
アクセス制御モードに対応していない場合にアクセス制御モードで検索しようとした場合
DbjDBException
DBエラーの場合
DbjException
DocumentBrokerクラスライブラリ固有のエラーの場合
DbjSessionNotConnectException
セッションが接続されていなかった場合
DbjIllegalCacheStartIndexException
検索結果数より大きい値を引数fetchInfo(DbjFetchInfoインターフェース)のstartIndexプロパティに指定した場合
IllegalArgumentException
引数が不正の場合
NullPointerException
引数eqlStatementがnullの場合