PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

目次
  1. countプロセス概要
  2. countフォーマットタイプ書式
  3. 記述例


countプロセス概要

データモデルの検索結果件数を取得するためのプロセスです。

searchプロセスを使用した場合、検索結果が全てデータモデルのオブジェクトとしてメモリ上にロードされるため、 大量のデータ(例えば数十万件のデータ)が検索でヒットする可能性がある場合はsearchプロセス自体の実行に非常に長い時間がかかったり、メモリを大量に消費したりします。

このような場合は、searchプロセスを実行する前にあらかじめcountプロセスを使用して該当の検索条件でどれだけの件数になるかを取得しておくことで、 検索結果のデータをデータモデルオブジェクトとしてメモリにロードすることなく、件数のみを取得することが可能です。
これにより、あまりに大量のデータになる場合はユーザーに対して検索条件の再設定を行わせるといった事が可能になります。

このプロセスはsearchプロセスと異なり、必ずモデルフレームワークを経由してデータベースに対して検索を実行します。
データの検索条件はsearchプロセスと同様の指定が可能です。ただし、extra_filterは使用できません。

モデルの検索に必要な情報を以下の書式で記述します。


countフォーマットタイプ書式

(プロセス名
    format_type  count
    (count
        source宣言部(1)
        session_value宣言部(0|1)
        filterセクション(0|1)
    )
)


記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

source宣言部

概要:
検索対象を指定する。
データベースから検索するので、ここではモデル名を指定する。

形式:
Key・値

記述1:モデルを指定する

    source  モデル名


session_value宣言部

概要:
検索結果の件数を保持するServiceSessionのキー名を指定する。
ここではキー名の前に"@"は付けないので注意すること。

ここで指定したセッションキーに検索結果の件数を表すjava.lang.Longオブジェクトが格納される。

形式:
Key・値

記述:
session_value ServiceSessoinキー名

記述例:

    session_value   申請書検索結果件数



filterサブセクション

概要:
検索条件を指定する。
指定方法はsearchプロセスのfilterサブセクションと全く同じ記述内容となる。

なお、countプロセスではsearchプロセスのようなextra_filterサブセクションは指定できない。
これは、countプロセスがデータをメモリ上にロードすることなく検索結果件数を取得する事を目的としているため。


記述例

例:商品マスタの検索結果件数を"商品マスタ検索結果件数"というキーで取得する

(商品マスタの検索結果件数を取得する
    format_type  count
    (count
        source        商品マスタ
        session_value 商品マスタ検索結果件数
        [filter
            condition   "@商品コード is not null"
            filter      "ItemCode like '&Cat:{%}{@商品コード}{%}'"
        	,
            operator    and
            condition   "@商品名 is not null"
            filter      "ItemName like '&Cat:{%}{@商品名}{%}'"
        	,
            operator    and
            condition   "@商品大分類区分 is not null"
            filter      "ItemMajorCategory like @商品大分類区分"
        	,
            operator    and
            condition   "@商品中分類区分 is not null"
            filter      "ItemMiddleCategory = @商品中分類区分"
        ]
    )
)


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2009-04-03 20:49:11 #$
  • バージョン : $Revision: 3403 $



Copyright © 2006, Atrris Corporation