この章では、TopLinkプロジェクトの構成方法について説明します。
表19-1は、構成可能なTopLinkプロジェクト・タイプと、そのタイプで対応している構成可能オプションが記載されたタイプ別の章への相互参照を示しています。
表19-2は、複数のTopLinkプロジェクト・タイプによって共有される構成可能オプションを示します。
詳細は、次を参照してください。
表19-2は、複数のTopLinkプロジェクト・タイプによって共有される構成可能オプションを示します。ここで説明される構成可能オプション以外にも、表19-1に示すように、特定のTopLinkプロジェクトのタイプについて説明しているオプションも構成する必要があります。
表19-2 共通プロジェクト・オプション
オプション | タイプ | TopLink Workbench | Java |
---|---|---|---|
|
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
「プロジェクト・レベルでのマッピングされたフィールド・アクセスの構成」 |
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
「デフォルト・ディスクリプタのアドバンスト・プロパティの構成」 |
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
「プロジェクト・レベルでのキャッシュ・タイプとサイズの構成」 |
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
「プロジェクト・レベルでのキャッシュ・コーディネーション変更伝播機能の構成」 |
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
関連項目
TopLink Workbenchを使用する場合のみ、プロジェクトの保存場所を構成できます。
表19-3は、どのプロジェクトがプロジェクトの保存場所をサポートしているかを示します。
表19-3 プロジェクトでのプロジェクトの保存場所のサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
プロジェクトの「一般」タブ上の「プロジェクトの保存場所」フィールドは、表示専用です。このフィールドは、プロジェクトの完全ディレクトリ・パスを表示します。プロジェクトで使用されるすべての相対する場所は、このディレクトリをベースにしています。
新規の場所を選択するには、ナビゲータでプロジェクトを右クリックし、そのコンテキスト・メニューから「別名保存」を選択します。詳細は、「プロジェクトの保存」を参照してください。
TopLinkプロジェクトでは、Javaクラスのインポートおよびオブジェクト・タイプの定義の際に、クラスパス(一連のディレクトリ、JARファイルおよびZIPファイル)を使用します。
表19-4では、どのプロジェクトがプロジェクト・クラスパスの構成をサポートしているかを示します。
表19-4 プロジェクトでのプロジェクト・クラスパスのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
JDBCドライバまたはプロジェクト・クラスパスのデータ・ソースのアクセスに必要な他の要素を含めないでください。setenv
ファイルを使用して、これらのアプリケーション・レベルの設定を指定します(「TopLink Workbench環境の構成」を参照)。
プロジェクト・クラスパスを構成した後に、TopLink Workbenchを使用してプロジェクトにクラスをインポートできます(「クラスのインポートおよび更新」を参照)。
プロジェクト・クラスパス情報を指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「一般」タブを選択します。「一般」タブが表示されます。
新規のクラスパス・エントリを追加するには、「エントリの追加」または「参照」をクリックし、このプロジェクトに対するディレクトリ、.jar
ファイルまたは.zip
ファイルを選択します。相対クラスパスを作成するには、エントリを選択し、必要に応じてパスを編集します。そのパスは「プロジェクトの保存場所」に相対します。
クラスパス・エントリを削除するには、エントリを選択して「削除」をクリックします。
エントリの順序を変更するには、エントリを選択して「上へ」または「下へ」をクリックします。
デフォルトでは、TopLinkは永続化の操作を実行する際に、オブジェクトの永続属性に直接アクセスします。これは、直接フィールド・アクセスと呼ばれています。あるいは、オブジェクトのアクセッサ・メソッドを使用して永続属性にアクセスするようTopLinkを構成できます。これは、メソッド・アクセスと呼ばれています。
マッピングにはフィールド・アクセスの使用をお薦めします。フィールド・アクセスがより効率的なだけでなく、メソッドが予期しない副次的な影響を生じる場合、メソッドの使用は問題を引き起こす可能性があります。
表19-5は、どのプロジェクトがマップされたフィールド・アクセスの構成をサポートしているかを示します。
表19-5 プロジェクトでのマップされたフィールド・アクセスのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
この項では、プロジェクト・レベルでのマップされたフィールド・アクセスの構成について説明します。デフォルトでは、この構成はすべてのディスクリプタおよびそのマッピングに適用されます。
注意: アクセス・デフォルトを変更する場合、既存マッピングの現在のアクセス設定は保持されますが、新規マッピングは新規デフォルトによって作成されます。 |
マッピング・レベルでマップされたフィールド・アクセスを構成して、このプロジェクト・レベルの構成をマッピング単位でオーバーライドすることもできます。詳細は、「メソッド・アクセスの構成」を参照してください。
フィールド・アクセス・メソッド情報を指定するには、次の手順を使用します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
この表を使用して、次のタブのフィールドにデータを入力し、新規に作成されたディスクリプタに対してデフォルトのフィールド・アクセス・メソッドを指定します。
フィールド | 説明 |
---|---|
メソッド・アクセス | デフォルトのフィールド・アクセス・メソッドとして、「メソッド・アクセス」を使用します。 |
「直接フィールド・アクセス」 | デフォルトのフィールド・アクセス・メソッドとして、「直接フィールド・アクセス」を使用します。 |
TopLink Workbenchを使用する場合のみ、プロジェクトの永続性タイプを構成できます。
TopLink Workbenchを使用して、プロジェクトで使用する永続性タイプを指定できます。たとえば、TopLinkプロジェクトでは、プレーンJavaオブジェクト、コンテナ管理の永続性を備えたエンティティBean、またはBean管理の永続性(BMP)を備えたエンティティBeanを使用できます。
表19-6は、どのプロジェクトが永続性タイプの構成をサポートしているかを示します。
表19-6 プロジェクトでの永続性タイプのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
![]() |
![]() |
永続クラスに対してTopLinkディスクリプタを作成するには、TopLink WorkbenchではコンパイルされたJava .class
ファイルを読み取り、その属性およびリレーションシップを読み取ります。TopLinkディスクリプタの詳細は、「ディスクリプタ」を参照してください。
EJBプロジェクトの場合は、TopLinkで必要な永続情報の読取り、および書込みが可能なejb-jar.xml
ファイルを指定できます。ejb-jar.xml
ファイルを使用して、コンテナ管理の永続性を備えたエンティティBeanの(<cmp-field>
タグによって定義される、コンテナ管理のフィールドと呼ばれる)仮想フィールドまたは(<cmr-field>
タグによって定義される、コンテナ管理のリレーションシップと呼ばれる)リレーションシップをデータ・ソースにマップします。
TopLink Workbenchは、エンティティ・クラスに対するすべてのディスクリプタを(ejb-jar.xml
ファイルの定義と同様に)EJBディスクリプタとして定義します。TopLink Workbenchでは、ejb-jar.xml
ファイルからリフレッシュする際、インタフェースのディスクリプタおよびエンティティの主キー・クラスを作成(または削除)しません。
注意: TopLink Workbenchは、ejb-jar.xml ファイルで定義されていないエンティティ・クラスのクラス・ディスクリプタを作成します。ディスクリプタ・タイプは手動で変更する必要があります(「EJB情報によるディスクリプタの構成」を参照)。 |
XMLファイルからプロジェクトを更新するには、EJBディスクリプタを右クリックして「ejb-jar.xmlからディスクリプタを更新」を選択します。メニューから「選択」→「ejb-jar.xmlからディスクリプタを更新」と選択して、プロジェクトを更新することもできます。
ejb-jar.xml
ファイルなどのデプロイ・ファイルの作成および使用の詳細は、次を参照してください。
永続性の情報を指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「一般」タブを選択します。「一般」タブが表示されます。
次の表を参照し、プロジェクトの「一般」タブの各フィールドにデータを入力して、永続性のオプションを構成します。
フィールド | 説明 |
---|---|
永続性タイプ | プロジェクトの永続性タイプ「Javaオブジェクト」、「CMP 1.1」、「CMP 2.x」または「BMP」を指定します。EJBプロジェクトの場合は、ejb-jar.xml ファイルの場所を指定します。
注意: このフィールドはXMLプロジェクトには適用されません。 |
ejb-jar.xmlの場所 | このプロジェクトのejb-jar.xml ファイルの場所を指定します。詳細は、「ejb-jar.xmlファイルの使用」を参照してください。
注意: このフィールドは、EJBプロジェクトのみに適用されます。 |
TopLink Workbenchを使用する場合のみ、デフォルト・ディスクリプタのアドバンスト・プロパティを構成できます。
デフォルトでは、TopLink Workbenchでは各ディスクリプタ・タイプの機能のサブセットが表示されます。このサブセットは、ディスクリプタに追加のアドバンスト・プロパティがデフォルトで含まれるように変更できます。
個々のディスクリプタに対して特定のアドバンスト・プロパティを選択することもできます(第25章「ディスクリプタの構成」を参照)。
表19-7では、どのプロジェクトがデフォルト・ディスクリプタのアドバンスト・プロパティの構成をサポートしているかを示します。
表19-7 プロジェクトでのデフォルト・ディスクリプタのアドバンスト・プロパティのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
プロジェクトで新規に作成されたディスクリプタのデフォルト・アドバンスト・プロパティを指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
新規に作成されたディスクリプタに追加する「ディスクリプタのアドバンスト・プロパティ」を選択します。アドバンスト・プロパティのリストは、プロジェクト・タイプによって異なります。
各アドバンスト・プロパティの詳細は、第25章「ディスクリプタの構成」を参照してください。
TopLinkでは、データベースにオブジェクトを書き込む際に、存在チェックを実行して挿入と更新操作のどちらを行うかを判断します。
デフォルトでは、TopLinkはキャッシュに対してチェックします。このデフォルトの存在チェック・オプションをほとんどのアプリケーションに対して使用することをお薦めします。データベースの存在チェックは、アプリケーションでのパフォーマンスのボトルネックの原因になる場合があります。
表19-8では、どのプロジェクトが存在チェックの構成をサポートしているかを示します。
表19-8 プロジェクトでの存在チェックのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
|
EISプロジェクト |
|
|
XMLプロジェクト |
![]() |
![]() |
デフォルトでは、この構成はプロジェクトのすべてのディスクリプタに適用されます。ディスクリプタ・レベルで存在チェックを構成して、このプロジェクト・レベルの構成をディスクリプタ単位でオーバーライドすることもできます。詳細は、「ディスクリプタ・レベルでのキャッシュ存在チェックの構成」を参照してください。
詳細は、次を参照してください。
存在チェックの情報を指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
次の表を参照して、新規に作成するディスクリプタに存在チェックのオプションを指定するため、次のフィールドのデータを指定します。
フィールド | 説明 |
---|---|
キャッシュのチェック | セッション・キャッシュをキャッシュします。オブジェクトがキャッシュ内に存在しない場合、オブジェクトは存在しないとみなします(挿入を行います)。オブジェクトがキャッシュ内に存在する場合、オブジェクトは存在するとみなします(更新を行います)。
ほとんどのアプリケーションに対してこのオプションを使用することをお薦めします。 |
データベースのチェック | オブジェクトがキャッシュ内に存在しない場合、データベースに問い合せてオブジェクトが存在するかどうか判断します。オブジェクトが存在する場合、更新を行います。それ以外の場合、挿入を行います。
このオプションを選択すると、パフォーマンスが低下する場合があります。詳細は、「データベースのチェック」を参照してください。 |
存在すると仮定 | 常にオブジェクトが存在すると仮定します。常に更新を行います(挿入は行いません)。
詳細は、「存在すると仮定」を参照してください。 |
存在しないと仮定 | 常にオブジェクトが存在しないと仮定します。常に挿入を行います(更新は行いません)。
詳細は、「存在しないと仮定」を参照してください。 |
TopLink Workbenchを使用する場合のみ、プロジェクト・デプロイXMLのオプションを構成できます。
TopLink Workbenchを使用して、デプロイXMLをエクスポートまたは生成する際にデフォルトのファイル名、クラス名およびディレクトリを指定できます。ディレクトリはプロジェクトの保存場所に相対し(「プロジェクトの保存場所の構成」を参照)、生成されたパッケージごとのフォルダを含みます。
表19-9は、どのプロジェクトがデプロイXMLオプションをサポートしているかを示します。
表19-9 プロジェクトでのプロジェクト・デプロイXMLのオプションのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
デフォルトのエクスポート・オプションを指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「オプション」タブを選択します。「オプション」タブが表示されます。
この表を使用して、次のフィールドにデータを入力し、デフォルトの「プロジェクト配布XML」のオプションを指定します。
フィールド | 説明 |
---|---|
ファイル名 | プロジェクト・デプロイXMLを生成する際に使用するファイル名(project.xml など) |
ディレクトリ | 生成されたデプロイXMLファイルを保存するディレクトリ |
TopLink Workbenchを使用する場合のみ、モデルJavaソース・コードのオプションを構成できます。
TopLink Workbenchを使用して、ドメイン・オブジェクトのJavaソース・コードをエクスポートまたは生成する際に、デフォルトのファイル名、クラス名およびディレクトリを指定できます。ディレクトリはプロジェクトの保存場所に相対し(「プロジェクトの保存場所の構成」を参照)、生成されたパッケージごとのフォルダを含みます。
表19-10は、どのプロジェクトがモデルJavaソース・コードのオプションをサポートしているかを示します。
表19-10 プロジェクトでのモデルJavaソースのオプションのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
デフォルトのエクスポート・オプションを指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「オプション」タブを選択します。「オプション」タブが表示されます。
TopLInk WorkbenchがモデルJavaソース・ファイルを生成する、プロジェクト・ルート・ディレクトリを指定します。詳細は、「ディスクリプタに関するJavaコードの生成」を参照してください。
TopLink Workbenchを使用する場合のみ、推奨されないダイレクト・マッピングのオプションを構成できます。
TopLinkでは、このリリースから次のダイレクト・マッピング・タイプは使用されません。
タイプ変換
オブジェクト・タイプ
シリアライズ・オブジェクト
かわりに、TopLinkでは特殊なコンバータによって、フィールドへ直接マッピングを使用します。
下位互換性のあるデプロイXMLファイルおよびJavaソース・コード・ファイルを生成するには、「推奨されないダイレクト・マッピングの生成」オプションを使用します。
表19-11は、どのプロジェクトが推奨されないダイレクト・マッピングのオプションをサポートしているかを示します。
表19-11 プロジェクトでの推奨されないダイレクト・マッピングのオプションのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
![]() |
![]() |
XMLプロジェクト |
![]() |
![]() |
プロジェクトをエクスポートする際、TopLink Workbenchで(コンバータを使用するのではなく)推奨されないダイレクト・マッピングを生成する必要があると指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「オプション」タブを選択します。「オプション」タブが表示されます。
タブの「推奨されないダイレクト・マッピングの生成」オプションを選択し、TopLink Workbenchが(コンバータではなく推奨されないダイレクト・マッピングを使用して)下位互換性のあるコードを生成する必要があることを指定します。
TopLinkキャッシュは、クラスと主キーの値に基づいて最近読み取られたり書き込まれたオブジェクトが格納される、インメモリー・リポジトリです。TopLInkでは、次の目的でこのキャッシュが利用されます。
最近読み取られたり書き込まれたオブジェクトを保持し、メモリー内でそれらにアクセスしてデータベースへのアクセスを最小限にすることで、パフォーマンスを向上させます。
ロックと分離レベルを管理します。
オブジェクト・アイデンティティを管理します。
表19-12では、どのプロジェクトがアイデンティティ・マップの構成をサポートしているかを示します。
表19-12 プロジェクトでのアイデンティティ・マップの構成のサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
|
EISプロジェクト |
|
|
XMLプロジェクト |
![]() |
![]() |
プロジェクト・レベルで構成するキャッシュ・オプションは、すべてのディスクリプタにグローバルに適用されます。この項を使用して、TopLinkプロジェクトのグローバルなキャッシュ・オプションを定義します。
プロジェクト・レベルのアイデンティティ・マップの構成は、ディスクリプタ・レベルでアイデンティティ・マップの構成を定義することによってオーバーライドできます。特定ディスクリプタのキャッシュおよびアイデンティティ・マップ構成の定義の詳細は、「ディスクリプタ・レベルでのキャッシュ・タイプとサイズの構成」を参照してください。
注意: TopLink Workbenchを使用する際、プロジェクトのデフォルトのアイデンティティ・マップを変更しても、プロジェクト内の既存のディスクリプタには影響はありません。新規に追加されたディスクリプタのみ影響されます。 |
キャッシングとオブジェクト・アイデンティティの詳細、およびTopLinkのパフォーマンスを最大化するための推奨設定は、「キャッシュ・タイプおよびオブジェクト・アイデンティティ」を参照してください。
キャッシュの詳細は、第87章「キャッシュの概要」を参照してください。
キャッシュ・アイデンティティ・マップを指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
次の表を使用して、各フィールドにデータを入力し、キャッシュ・オプションを指定します。
フィールド | 説明 |
---|---|
タイプ | 「タイプ」のドロップダウン・リストから、次のいずれかのアイデンティティ・マップを選択します。
詳細は、「キャッシュ・タイプおよびオブジェクト・アイデンティティ」を参照してください。 プロジェクトのデフォルトのアイデンティティ・マップを変更しても、プロジェクト内の既存のディスクリプタには影響はありません。 |
サイズ | キャッシュのサイズを指定します。
|
独立セッションの使用を計画している場合(「キャッシュの分離」を参照)、独立セッションのキャッシュに限定するオブジェクトについて、ディスクリプタを分離するよう構成する必要があります。
ディスクリプタを分離するように構成するとは、TopLinkが共有セッション・キャッシュにオブジェクトを格納せず、オブジェクトがクライアント・セッション全体にわたって共有されないということを意味します。つまり、各クライアントはデータベースから直接、独自のオブジェクト読取りを行います。分離クライアント・セッション・キャッシュ内のオブジェクトは、親サーバー・セッションの共有セッション・キャッシュ内のオブジェクトを参照できますが、共有セッション・キャッシュ内のオブジェクトが分離クライアント・セッション・キャッシュ内のオブジェクトを参照することはできません。分離構成が必要となるのは、Oracle Database Virtual Private Database(VPD)のサポートまたはデータベース・ユーザー単位の読取りセキュリティを使用する場合です。また、全クライアント・セッションにわたるキャッシングが望ましくない場合にも分離構成を使用できます。
表19-13は、どのプロジェクトがキャッシュ分離構成をサポートしているかを示します。
表19-13 プロジェクトでのキャッシュ分離構成のサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
|
EISプロジェクト |
|
|
XMLプロジェクト |
![]() |
![]() |
プロジェクト・レベルで構成するキャッシュ分離のオプションは、すべてのディスクリプタにグローバルに適用されます。この項を使用して、TopLinkプロジェクトのグローバルなオプションを定義します。
プロジェクト・レベルの構成は、ディスクリプタ・レベルでキャッシュ分離オプションを定義することによってオーバーライドできます。詳細は、「ディスクリプタ・レベルでのキャッシュ分離機能の構成」を参照してください。
注意: TopLink Workbenchを使用する際、プロジェクトのデフォルトのキャッシュ分離オプションを変更しても、プロジェクト内の既存のディスクリプタには影響はありません。新規に追加されたディスクリプタのみ影響されます。 |
キャッシュ分離オプションを指定するには、次の手順に従います。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
「分離」リストを使用して、次のいずれかを選択します。
独立: すべてのオブジェクトを分離クライアント・セッション・キャッシュ内でのみ使用可能にします。詳細は、「キャッシュの分離」を参照してください。
共有: すべてのオブジェクトを共有セッション・キャッシュ内で参照可能にします(デフォルト)。
コーディネート・キャッシュの使用を計画する場合(「キャッシュ・コーディネーションの概要」を参照)、コーディネート・キャッシュから変更を伝播する方法とその条件を構成できます。
表19-14は、どのプロジェクトがキャッシュ・コーディネーション変更伝播の構成をサポートしているかを示します。
表19-14 プロジェクトでのキャッシュ・コーディネーション変更伝播の構成のサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
|
EISプロジェクト |
|
|
XMLプロジェクト |
![]() |
![]() |
プロジェクト・レベルで構成するキャッシュ・コーディネーション変更伝播のオプションは、すべてのディスクリプタにグローバルに適用されます。この項を使用して、TopLinkプロジェクトのグローバルなオプションを定義します。
プロジェクト・レベルの構成は、ディスクリプタ・レベルでキャッシュ・コーディネーション変更伝播のオプションを定義することによってオーバーライドできます。詳細は、「ディスクリプタ・レベルでのキャッシュ・コーディネーションの変更伝播機能の構成」を参照してください。
コーディネート・キャッシュの構成を完了するには、第88章「コーディネート・キャッシュの構成」を参照してください。
注意: TopLink Workbenchを使用する際、プロジェクトのデフォルトのキャッシュ・コーディネーション変更伝播オプションを変更しても、プロジェクト内の既存のディスクリプタには影響はありません。新規に追加されたディスクリプタのみ影響されます。 |
キャッシュ・コーディネーション変更伝播のオプションを指定するには、次の手順に従います。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
次の情報を参照し、「コーディネーション」フィールドにデータを入力します。
「コーディネーション」オプション | 説明 | 使用する場合 |
---|---|---|
なし | 既存インスタンスおよび新規インスタンスの両方の場合に、変更通知を伝播しません。 | まれに読み取られる、または変更されるオブジェクトの場合。 |
変更の同期化 | 既存のインスタンスの場合、変更された各属性を含む変更通知を伝播します。
新規のインスタンスの場合、インスタンスがこの変更伝播オプションで構成された既存の他のオブジェクトに関連する場合のみ、オブジェクト作成がすべての新規インスタンスの属性とあわせて伝播されます。 |
頻繁に読み取られるまたは変更される、ほとんど属性のないオブジェクトの場合、または少数の属性のみが頻繁に変更される場合。
多数のリレーションシップまたは複雑なリレーションシップを持つオブジェクト |
変更および新規オブジェクトの同期化 | 既存のインスタンスの場合、変更された各属性を含む変更通知を伝播します。
新規インスタンスの場合、オブジェクト作成を、新規インスタンスのすべての属性とともに伝播します。 |
頻繁に読み取られるまたは変更される、ほとんど属性のないオブジェクトの場合、または少数の属性のみが頻繁に変更される場合。
ほとんどリレーションシップのない、または単純なリレーションシップを持つオブジェクトの場合。 |
変更済オブジェクトの無効化 | 既存のインスタンスの場合、他のすべてのセッションでオブジェクトを無効としてマークする、オブジェクトの無効化を伝播します。これにより、他のセッションは次回このオブジェクトを読み取るときに、セッションのキャッシュをデータ・ソースにより更新する必要があることがわかります。
新規インスタンスの場合、変更通知は伝播されません。 |
頻繁に読み取られるまたは変更される、多数の属性を含むオブジェクト、または多数の属性のみが頻繁に変更される場合。 |
デフォルトでは、オブジェクトは明示的に削除されるまではキャッシュ内に残る(「オブジェクトの削除」を参照)か、弱アイデンティティ・マップを使用する際にガベージ・コレクションが行われます(「プロジェクト・レベルでのキャッシュ・タイプとサイズの構成」を参照)。あるいは、CacheInvalidationPolicy
で自動または手動でオブジェクトが無効であると指定し、オブジェクトを構成できます。これにより、問合せで無効オブジェクトを読み取ろうとすると、TopLinkではそのオブジェクトの最新バージョンのデータ・ソースへアクセスし、その情報でキャッシュを更新します。
キャッシュ無効化の使用により、失効したデータがアプリケーションで使用されないようにします。これはリフレッシュ実行のよりよい代替方法です(「キャッシュ・リフレッシュ機能の構成」を参照)。
表19-15は、どのプロジェクトがキャッシュ無効化の構成をサポートしているかを示します。
表19-15 プロジェクトでのキャッシュ無効化の構成のサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
|
EISプロジェクト |
|
|
XMLプロジェクト |
![]() |
![]() |
プロジェクト・レベルで構成するキャッシュ無効化のオプションは、すべてのディスクリプタにグローバルに適用されます。この項を使用して、TopLinkプロジェクトのグローバルなキャッシュ無効化のオプションを定義します。
プロジェクト・レベルのキャッシュ無効化の構成は、ディスクリプタ・レベル(「ディスクリプタ・レベルでのキャッシュ有効期限の構成」を参照)または問合せレベル(「問合せレベルにおけるキャッシュの有効期限の構成」を参照)でキャッシュ無効化を定義してオーバーライドできます。
コーディネート・キャッシュを使用している場合は、効率性を高めるためオブジェクトが無効であると宣言されているという事実をTopLinkに通信する方法をカスタマイズできます。詳細は、「ディスクリプタ・レベルでのキャッシュ・コーディネーションの変更伝播機能の構成」を参照してください。
注意: TopLink Workbenchを使用する際、プロジェクトのデフォルトのキャッシュ無効化を変更しても、プロジェクト内の既存のディスクリプタには影響はありません。新規に追加されたディスクリプタのみ影響されます。 |
詳細は、「キャッシュの無効化」を参照してください。
プロジェクトに対してキャッシュ無効化オプションを指定するには、次の手順に従います。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「デフォルト」タブを選択します。「デフォルト」タブが表示されます。
次の表に説明されているタブの各フィールドにデータを入力します。
フィールド | 説明 |
---|---|
失効なし | キャッシュ内のオブジェクトは失効しないと指定します。 |
時間による失効 | キャッシュ内のオブジェクトは一定時間の経過後に失効すると指定します。「失効までの時間」フィールドを使用して、オブジェクトが失効するまでの時間(ミリ秒)を示します。 |
日次の失効 | キャッシュ内のオブジェクトは毎日特定の時間に失効すると指定します。「失効の時間」フィールドを使用して、オブジェクトが失効する正確な時刻を秒単位まで(24時間表記で)示します。 |
更新時に読取り時間を更新 | オブジェクトの更新後に失効時間をリセットする必要がある場合に指定します。 |
プロジェクトごとに自由形式のテキスト・コメントを定義できます。これらのコメントは任意の用途に使用できます。たとえば、プロジェクトの目的または重要性など、プロジェクトの重要な実装詳細を記録することなどに使用できます。
コメントはTopLinkデプロイXMLファイルのTopLink Workbenchプロジェクトに格納されます。この機能に対応するJava APIはありません。
表19-16は、どのプロジェクトがこのオプションをサポートしているかを示します。
表19-16 プロジェクトでのプロジェクト・コメントのサポート
プロジェクト・タイプ | TopLink Workbenchの使用 |
Javaの使用 |
---|---|---|
リレーショナル・プロジェクト |
|
![]() |
EISプロジェクト |
|
![]() |
XMLプロジェクト |
|
![]() |
プロジェクトのコメントを指定するには、次の手順を実行します。
ナビゲータでプロジェクト・オブジェクトを選択します。
エディタで「一般」タブを選択します。「一般」タブが表示されます。
「コメント」フィールドに説明的なテキスト情報を入力します。