FetchFirst
概要
基本概念
先頭から n 件のデータのみを取得(フェッチ)します。(通常の絞り込み条件とは別に絞り込む)
例えば、"若い会員トップ3" というような検索をする場合、OrderBy で生年月日を降順にして、FetchFirst で 3 を設定します。n 件の絞り込みの実現方法は Paging と同じです。(要は Paging での 1 ページ目の検索とも言える)
会話上では、ふぇっちふぁーすと と表現します。
実装方法
実装の流れ
まずは通常通り、ConditionBean の設定をし、実行する前に fetchFirst() を呼び出して、先頭から何件取得するかを引数(fetchSize)で設定します。
e.g. 先頭の 3 件を取得 (Eclipseでコード補完) @Java
MemberCB() cb = new MemberCB();
cb.setupSelect_MemberStatus();
cb.query().addOrderBy_Birthdate_Desc();
cb.feF // .feF と打って enter
--
cb.fetchFirst(3); // fetchSize を設定
FetchFirst が設定されると、検索結果として戻ってくるリストの件数は、必ず指定された件数以下となります。 fetchSize が 1 の場合は、必ず一件検索となります(Behavior の一件検索が利用可能に)。
メソッド仕様
引数の fetchSize は正の値
引数の fetchSize には必ず正の値を入れます。(0 や マイナス値は例外)
複数回呼び出しは上書き
複数回、FetchFirst を呼び出した場合は、最後に設定された値が有効(上書き)になります。
Paging 設定を上書き
Paging が設定がされている状態で、FetchFirst を呼び出すと、ページングの設定は無効になります。
FetchFirst は、1 ページ目の n 件を取得するページング検索になる、とも言え、実際に、FetchFirst を設定するだけでも、Behavior の selectPage(cb) を利用することができる(但し、ページング目的の場合は明示的に Paging を利用することが推奨される)。