OracleAS TopLink Mapping Workbenchの各ディスクリプタには、次のデフォルトのタブおよび固有のプロパティがあります。
ディスクリプタ情報
クラス情報
問合せキー
問合せ
EJB情報(EJBディスクリプタのみ)
アドバンスト・プロパティを設定する機能(「詳細プロパティの使用」および「ディスクリプタのデフォルトの詳細プロパティを指定するには:」を参照)を使用して、各ディスクリプタの追加プロパティを指定します。
「ディスクリプタ情報」タブを使用して、データベース内の特定の表へのディスクリプタのマップ、主キーの定義、順序付け情報の指定、およびキャッシュ・オプションの設定を行います。
ディスクリプタを表にマップするには:
| フィールド | 説明 |
|---|---|
| 関連表 | ドロップダウン・リストを使用して、ディスクリプタ用のデータベース表を選択します。 |
| 主キー | 表の主キーを指定します。 |
| 順序付けの使用 | このディスクリプタで順序付けを使用するかどうかを指定します。選択した場合、順序付け用の「名前」、「表」および「フィールド」を指定します。詳細は、「順序付けの使用」を参照してください。 |
| 読取り専用 | このディスクリプタが読取り専用かどうかを指定します。 |
| 作業ユニットでの問合せ結果を一致 | オブジェクトの読取りまたはすべて読取り問合せに、conformResultsInUnitOfWork()メソッドを使用するために指定します。
詳細は、『Oracle Application Server TopLinkアプリケーション開発者ガイド』を参照してください。 |
| キャッシュのリフレッシュ | |
| デフォルト | プロジェクトのデフォルトのキャッシュ・オプションを使用します。OracleAS TopLinkでは、キャッシュをリフレッシュするよう読取り問合せが構成されていないかぎり、キャッシュはリフレッシュされません。 |
| 常にリフレッシュする | すべての問合せ時にキャッシュ内のオブジェクトをリフレッシュします。
注意: このプロパティを使用すると、パフォーマンスに影響を与える可能性があります。 |
| キャッシュ・ヒットを無効にする | 主キーのオブジェクトの読取り問合せ時にキャッシュ・ヒットを無効にします。 |
| 新規バージョンの場合のみリフレッシュする | データベース内のオブジェクトがキャッシュ内のオブジェクトより新しい場合のみ、キャッシュをリフレッシュします(「オプティミスティック・ロック」フィールドで指定します)。詳細は、「オプティミスティック・ロックの使用」を参照してください。 |
クラスおよびディスクリプタの生成後、「クラス情報」タブを使用して、次のことを行います。
クラス、属性およびメソッドの名前の変更
生成された属性およびメソッドの追加、削除または編集
新規クラスの作成のためのJavaソースの生成
クラス情報を指定するには:
「ナビゲータ」ペインでディスクリプタを選択します。「エディタ」ペインにプロパティが表示されます。
「エディタ」ペインの「クラス情報」タブをクリックします。
次の中から、適切なタブを選択します。
「属性」タブ
「メソッド」タブ
実装する新規インタフェースを追加するには、「追加」をクリックします。
インタフェースを削除するには、インタフェースを選択し、「削除」をクリックします。
ディスクリプタに対するソース・コードを生成するには、「ソース・コードの生成」をクリックします。
次の表を参照して、各フィールドにデータを入力します。
新規属性を追加するには、「追加」をクリックします。
既存の属性を削除するには、属性を選択し、「削除」をクリックします。
既存の属性の名前を変更するには、属性を選択し、「名前の変更」をクリックします。
属性を選択し、次の表を参照して、「一般」タブの各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| 修飾子 | |
| アクセス修飾子 | 属性がどの範囲でアクセス可能であるかを指定します。
|
| その他の修飾子 | 属性が「final」、「static」、「transient」または「volatile」のいずれであるかを指定します。
注意: 選択した修飾子によっては、他の修飾子が使用できない場合があります。 |
| タイプ情報 | |
| タイプ | 「参照」をクリックし、属性に対するクラスおよびパッケージを選択します。 |
| 次元 | 配列の長さを指定します。「タイプ」が配列の場合のみ、このフィールドを使用します。 |
属性を選択し、次の表を参照して、「アクセッサ」タブの各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| getメソッド | 属性に対するget( )メソッドを選択します。
|
| setメソッド | 属性に対するset( )メソッドを選択します。
|
属性に対するgetまたはsetメソッドを生成するには、「メソッドの生成」をクリックします。
新規メソッドを追加するには、「追加」をクリックします。
既存のメソッドを削除するには、メソッドを選択し、「削除」をクリックします。
メソッドを選択し、次の表を参照して、各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| 修飾子 | |
| アクセス修飾子 | 属性がどの範囲でアクセス可能であるかを指定します。
|
| その他の修飾子 | 属性が「final」、「static」、「transient」または「volatile」のいずれであるかを指定します。
注意: 選択した修飾子によっては、他の修飾子が使用できない場合があります。 |
| 戻りタイプ | 「参照」をクリックし、クラスおよびパッケージを選択します。 |
| 次元 | 配列の長さを指定します(戻りタイプ)。 |
| パラメータ | 「追加」をクリックし、メソッドにパラメータを含めます。
注意: パラメータは、リストの順序でロードされます。 |
「問合せ」タブを使用して、データベース・アクセスに使用するEJB QL問合せ、SQL問合せおよびファインダを指定します。「問合せ」タブには、「名前付き問合せ」および「カスタムSQL」という2つのタブが含まれています。
2.0 CMPプロジェクトの場合、ejb-jar.xmlファイルに問合せリストが格納されます。問合せをファイル内で定義してOracleAS TopLink Mapping Workbenchに読み取るか、「問合せ」タブで定義してファイルに書き込むことができます。詳細は、「ejb-jar.xmlファイルへの書込み」を参照してください。
問合せを作成するには:
「ナビゲータ」ペインでディスクリプタを選択します。
「エディタ」ペインの「問合せ」タブをクリックします。
次の中から、適切なタブを選択します。
カスタムSQL
名前付き問合せ
OracleAS TopLink Mapping WorkbenchでカスタムSQL問合せを作成するには、次の手順を実行します。2.0 CMPプロジェクトの場合、SQLはejb-jar.xmlファイルに書き込まれません。
カスタムSQL問合せを作成するには:
「ナビゲータ」ペインでディスクリプタを選択します。
「エディタ」ペインの「問合せ」タブをクリックします。
「カスタムSQL」タブをクリックします。
適切なSQL機能のタブをクリックし、ディスクリプタに対するアクションを制御する問合せオブジェクトまたはSQL文字列を入力します。
|
注意: OracleAS TopLink Mapping Workbenchでは、入力されたSQLコードは検証されません。コードは、特定のデータベース・タイプで定義されます。 |
カスタム問合せ
5つのカスタム問合せタブを制御するには、特定のディスクリプタに対する独自の問合せオブジェクトまたはSQL文字列を含めることができます。各データベースに対するSQL文字列は、データベースのタイプによって定義されます。たとえば、オブジェクトを読み取るストアド・プロシージャでは、次の文字列を使用できます。
Read_Employee(EMP_ID=>4653)
問合せマネージャには、オブジェクトを読み取るために次の文字列が必要です。
Read_Employee(EMP_ID=>#EMP_ID)
名前付き問合せを使用して、データベースにアクセスするためのSQL問合せ、EJB QL問合せまたはOracleAS TopLinkの式問合せを指定します。EJB QLは、オブジェクト・モデルの観点では、問合せを表す宣言型の言語です。詳細は、EJB仕様と『Oracle Application Server TopLinkアプリケーション開発者ガイド』を参照してください。
名前付き問合せを作成するには:
「ナビゲータ」ペインでディスクリプタを選択します。
「エディタ」ペインの「問合せ」タブをクリックします。
「問合せ」タブの「名前付き問合せ」タブをクリックします。「名前付き問合せ」タブには、次のタブが含まれています。
「名前付き問合せ」の「一般」タブ
「名前付き問合せ」の「書式」タブ
「名前付き問合せ」の「オプション」タブ
新規名前付き問合せを作成するには、「追加」をクリックします。「名前付き問合せの追加」ダイアログ・ボックスが表示されます。
(EJBディスクリプタに対して)問合せのタイプを選択し、問合せの名前を入力して、[Enter]を押します。OracleAS TopLink Mapping Workbenchで、問合せが「名前付き問合せ」タブに追加されます。
|
注意: OracleAS TopLink予約ファインダの場合、ドロップダウン・ボックスを使用して、予約名を選択します。OracleAS TopLinkにより、実行時に問合せが生成されます。 |
「一般」タブをクリックし、問合せのタイプおよびパラメータを指定します。
「書式」タブをクリックして、名前付き問合せおよびその書式を指定します。
次の表を参照して、「書式」タブの各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| 式 | この名前付き問合せでOracleAS TopLinkの式を使用することを指定します。 |
| SQL | この名前付き問合せがSQL問合せであることを指定します。 |
| EJBQL | この名前付き問合せがEJB QL問合せであることを指定します。 |
| 問合せ文字列 | 問合せを入力します。OracleAS TopLink Mapping Workbenchでは、問合せ文字列は検証されません。
注意: 「式」の場合、問合せ文字列をダブルクリックするか、「編集」をクリックして、問合せ文字列を作成または編集します。詳細は、「式の作成」を参照してください。 |
「オプション」タブをクリックし、名前付き問合せの追加オプションを指定します。
|
注意: このパネルのオプションが無効の場合、Mapping Workbenchでは親で指定されたオプションが使用されます。 |
次の表を参照して、「オプション」の各フィールドにデータを入力します。
次の表を参照して各フィールドにデータを入力し、「OK」をクリックします。
名前付き問合せの詳細は、『Oracle Application Server TopLinkアプリケーション開発者ガイド』を参照してください。
式ビルダーを使用して、名前付き問合せ用にOracleAS TopLinkの式を作成します。
式を作成するには:
「名前付き問合せ」の「書式」タブ(図4-10を参照)で、「編集」をクリック(または問合せ文字列をダブルクリック)します。「式ビルダー」ダイアログ・ボックスが表示されます。
図4-13は、次のユーザー・インタフェース・コンポーネントを示しています。
式ツリー
引数
新規の式を作成するには、「追加」または「ネストの追加」をクリックします。OracleAS TopLinkにより、各ノードおよびネストされたノードに順序番号が割り当てられます。
既存の式を削除するには、「削除」をクリックします。
ノードを選択し、「論理演算子」ドロップダウン・リストを使用して、ノードに対する演算子を指定します(AND、OR、NOT ANDまたはNOT OR)。
式を選択し、次の表を参照して、各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| 第1引数 | 「編集」をクリックし、第1引数に対する問合せキーを選択します。詳細は、「引数の追加」を参照してください。 |
| 演算子 | OracleAS TopLinkによる式の評価方法を指定します。有効な演算子には、EQUAL、NOT EQUAL、EQUAL IGNORE CASE、GREATER THAN、GREATER THAN EQUAL、LESS THAN、LESS THAN EQUAL、LIKE、NOT LIKE、LIKE IGNORE CASE、IS NULLおよびNOT NULLがあります。 |
| 第2引数 | 第2引数を指定します。
詳細は、「引数の追加」を参照してください。 |
「OK」をクリックします。OracleAS TopLink Mapping Workbenchで、式が「名前付き問合せ」タブに追加されます。
各式には、評価対象の要素(引数)が含まれます。IS NULLまたはNOT NULL演算子を使用する式の場合、必要な引数は1つのみです。
新規引数を追加するには、次の手順を実行します。
既存の式を選択するか、新規の式を名前付き問合せに追加する場合は「追加」(または「ネストの追加」)をクリックします。
属性を選択し、問合せがNULL値を許容するかどうかを指定して、「OK」をクリックします。
「演算子」ドロップダウン・リストを使用して、OracleAS TopLinkによる式の評価方法を指定します。
「第2引数」で、「リテラル」、「問合せキー」または「パラメータ」を選択し、「編集」をクリックします。
各式またはサブ式に対し、この手順を繰り返します。
例4-1 式の例
次に式を示します。
AND
1.manager(Allows Null).lastName EQUAL "Jones"
2.OR
2.1.projects.name LIKE "BETA"
2.2.projects.id EQUAL "4"
3.OR
3.1.AND
3.1.1.address.country EQUAL "Canada"
3.1.2.salary GREATER THAN "25000"
3.2.AND
3.1.1.address.country EQUAL "United States"
3.1.2.salary GREATER THAN "37500"
この式では、次のような従業員が検索されます。
姓がJonesのマネージャがいるか、マネージャがいない、かつ
BetaまたはID 4というプロジェクトに携わっている、かつ
カナダに住み、給与が25,000超、またはアメリカに住み、給与が37,500超の従業員
OracleAS TopLink Mapping Workbenchでは、フィールド名のエイリアスとして問合せキーを使用します。エイリアスを使用することにより、OracleAS TopLinkの式で、データベース管理システム固有のフィールド名のかわりに、Javaの名前を使用できます。詳細は、「問合せキーの自動生成」を参照してください。
「問合せキー」タブを使用して、ユーザー定義の問合せの作成や、自動生成された問合せキーを使用します。
「EJB情報」タブを使用して、EJBディスクリプタの情報を(ejb-jar.xmlファイルから)表示します。このタブは、EJBディスクリプタの場合のみ使用できます。
EJBディスクリプタ情報を表示するには:
「ナビゲータ」ペインで、EJBディスクリプタを選択します。
「エディタ」ペインの「EJB情報」タブをクリックします。
次の表を参照して、各フィールドにデータを入力します。
| フィールド | 説明 |
|---|---|
| EJB名 | ベース名。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<ejb-name>要素で指定されています。
|
| 主キー・クラス | 主キー。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<prim-key-class>要素で指定されています。
|
| ローカル・インタフェース | ローカル・インタフェース。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<local>要素で指定されています。
|
| ローカル・ホーム・インタフェース | ローカル・ホーム・インタフェース。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<local-home>要素で指定されています。
|
| リモート・インタフェース | リモート・インタフェース。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<remote>要素で指定されています。
|
| リモート・ホーム・インタフェース | リモート・ホーム・インタフェース。EJB 2.0を使用している場合、これはejb-jar.xmlファイルの<home>要素で指定されています。
|
|
注意: EJB 2.0の永続性を使用している場合、これらのフィールドは表示専用です。 |