問合せの指定

データベースにアクセスするための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」タブ

    This figure shows the Custom SQL tab on the Queries tab. This tab also includes the following tabs:  - Insert  - Update  - Delete  - Read Object  - Read All

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

例4-1 カスタム問合せ

5つのカスタム問合せタブを制御するため、特定のディスクリプタに対する独自の問合せオブジェクトまたはSQL文字列を入力できます。各データベースのSQL文字列はデータベース・タイプで定義されます。

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

Read_Employee(EMP_ID=>4653)

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

Read_Employee(EMP_ID=>#EMP_ID)

名前付き問合せ

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

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

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

    図4-3 「問合せ」タブ

    This figure shows the Named Queries - General tab on the Queries tab.

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

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

    This figure shows the General tab on the Named Queries tab.

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

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

    This figure shows the Named Queries - Format tab on the Queries  tab. For Expressions, click Add/Modify to edit the expression   with the TopLink Expression Builder.

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

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

    This figure shows the Named Queries - Options tab on the Queries tab.

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

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

    This figure shows the Advanced Query Options dialog box.

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

関連項目

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

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

 

Copyright © 1997, 2004, Oracle. All rights reserved.