This is a cache of http://dbflute.seasar.org/ja/manual/function/ormapper/conditionbean/sidebar/fetchfirst.html. It is a snapshot of the page at 2024-11-13T00:28:33.522+0000.
FetchFirst | DBFlute

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 を利用することが推奨される)。