ヘッダーをスキップ

問合せの指定

データベースにアクセスするためのTopLink式問合せ、EJB QL問合せおよびSQL問合せを指定するには、「問合せ」タブを使用します。EJB QLはオブジェクト・モデルの観点からの問合せを表す宣言的言語です。詳細はEJBの仕様を参照してください。

2.0 CMPプロジェクトでは、ejb-jar.xmlファイルに問合せリストが格納されます。ファイルで問合せを定義してからTopLinkマッピング・エディタで読み取るか、または「問合せ」タブで問合せを定義してからファイルに書き込みます。

問合せを作成するには、次のようにします。

  1. 構造ウィンドウでディスクリプタを選択します。
  2. マッピング・エディタで「名前付き問合せ」タブをクリックします。
    「問合せ」タブには次の追加のタブが含まれています。
  3. 次の中から、適切なタブを選択します。

カスタムSQL問合せ

TopLinkディスクリプタ挿入、更新、削除、読取りまたはすべてのアクションの読取りのカスタムSQL問合せを作成するには、この手順を使用します。

カスタムSQL問合せを作成するには、次のようにします。

  1. 「アプリケーション・ナビゲータ」でディスクリプタを選択します。
  2. 「エディタ」ペインの「問合せ」タブをクリックします。
  3. 「カスタムSQL」タブをクリックします。

    図4-2 「問合せ」-「カスタムSQL」タブ

    「問合せ」タブの「カスタムSQL」タブ

  4. 「カスタムSQL問合せ」タブで適切なSQL関数タブをクリックし、ディスクリプタの処理を制御する独自の問合せオブジェクトまたはSQL文字列を入力します。
    注意: TopLinkマッピング・エディタでは入力したSQLコードの検証は行われません。コードは特定のデータベース・タイプで定義されます。

例4-1 カスタム問合せ

TopLinkディスクリプタ挿入、更新、削除、読取りまたはすべてのアクションの読取りで使用されるSQL問合せを定義するには、カスタム問合せタブを使用します。たとえば、デフォルトのTopLink readObject関数をカスタム・ストアド・プロシージャに置き換えるには、カスタム問合せタブの「読取り」タブで置換コードを実装するためのカスタムSQL文字列を追加します。

たとえば、オブジェクトを読み取るストアド・プロシージャでは次の文字列が使用される場合があります。

Read_Employee(EMP_ID=>4653)
問合せマネージャではオブジェクトを読み取るため次の文字列が必要です。
Read_Employee(EMP_ID=>#EMP_ID)

名前付き問合せ

データベースにアクセスするためのSQL問合せ、EJB QL問合せまたはTopLink式問合せを指定するには、名前付き問合せを使用します。

名前付き問合せを作成するには、次のようにします。

  1. 「アプリケーション・ナビゲータ」でディスクリプタを選択します。
  2. 「エディタ」ペインの「問合せ」タブをクリックします。
  3. 「問合せ」タブで「名前付き問合せ」タブをクリックします。

    図4-3 「問合せ」タブ

    「問合せ」タブの「名前付き問合せ - 一般」タブ

  4. 「追加」をクリックし、新規の問合せを作成します。「名前付き問合せの追加」ダイアログが表示されます。
    既存の問合せを削除するには、問合せを選択して「削除」をクリックします。既存の問合せの名前を変更するには、問合せを選択して「名前の変更」をクリックします。
  5. (EJBディスクリプタの)問合せタイプを選択し、問合せ名を入力して、「OK」をクリックします。
  6. 「名前付き問合せ」タブには次の追加的なタブが含まれています。
  7. 「名前付き問合せ」-「一般」タブをクリックし、問合せタイプとパラメータを指定します。

    図4-4 「問合せ」-「一般」タブ

    「名前付き問合せ」タブの「一般」タブ

  8. 問合せタイプを選択して、問合せのパラメータを「追加」または「削除」します。
  9. 「名前付き問合せ」-「書式」タブをクリックし、名前付き問合せとその書式を指定します。

    図4-5 「問合せ」-「書式」タブ

    「問合せ」タブの「名前付き問合せ - 書式」タブ

  10. 名前付き問合せの追加オプションを指定するには、「名前付き問合せ」-「オプション」タブをクリックします。
    注意: これらのオプションはfindOneByQueryおよびfindManyByQueryには使用できません。

    図4-6 「問合せ」-「オプション」タブ

    「問合せ」タブの「名前付き問合せ - オプション」タブ

  11. 「拡張」をクリックしてその他の名前付き問合せオプションを指定します。

    図4-7 詳細な問合せオプション

    「詳細な問合せオプション」ダイアログ・ボックス

  12. 「詳細な問合せオプション」ダイアログを使用してその他の問合せオプションを指定します。
  13. 「OK」をクリックします。

関連トピック

TopLinkディスクリプタについて

式のビルド
ディスクリプタの使用
ディスクリプタ・プロパティの使用
ディスクリプタのマッピング