www.bea.com code library downloads support.bea.com BEA logo

WebLogic エンタープライズ JavaBeans プログラマーズ ガイド

 Previous Next Contents Index View as PDF

weblogic-cmp-rdbms-jar.xml デプロイメント記述子

以下の節では、weblogic 固有の XML 文書型定義 (DTD) ファイル、weblogic-cmp-rdbms-jar.xml ファイルの EJB 2.0 デプロイメント記述子要素について説明します。これらの定義を使用して、EJB デプロイメントを構成する WebLogic 固有の weblogic-cmp-rdbms-jar.xml ファイルを作成します。このデプロイメント記述子ファイルを使用して、コンテナ管理による永続性 (CMP) の動作を指定します。

EJB 1.1 デプロイメント記述子要素については、「EJB 1.1 ユーザへの重要な情報」を参照してください。

 


2.0 の weblogic-cmp-rdbms-jar.xml デプロイメント記述子ファイルの構造

weblogic-cmp-rdbms-jar.xml ファイルは、WebLogic Server の RDBMS ベースの永続性サービスを使用するエンティティ EJB のデプロイメント記述子を定義します。EJB コンテナでは、WebLogic Server バージョン 6.x で提供された XML とは異なるバージョンの weblogic-cmp-rdbms-jar.xml を使用します。

WebLogic Server バージョン 8.1 にデプロイする旧バージョンの EJB 1.1 用 weblogic-cmp-rdbms-jar.xml の DTD も使用できます。ただし、CMP 2.0 の新機能を使用する場合は、下記の新しい DTD を使用する必要があります。

WebLogic Server 8.1 の weblogic-cmp-rdbms-jar.xml の最上位要素は、weblogic-rdbms-jar スタンザで構成されます。

description
weblogic-version
weblogic-rdbms-jar
	weblogic-rdbms-bean
ejb-name
data-source-name
table-map
field-group
relationship-caching
weblogic-query
delay-database-insert-until
automatic-key-generation
check-exists-on-method
	weblogic-rdbms-relation
relation-name
table-name
weblogic-relationship-role
create-default-dbms-tables
validate-db-schema-with
database-type

 


2.0 の weblogic-cmp-rdbms-jar.xml デプロイメント記述子要素

 


automatic-key-generation

指定できる値 :

なし

デフォルト値 :

なし

要件 :

省略可能。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

automatic-key-generation 要素は、シーケンス/キー生成機能の使い方を指定します。

XML スタンザには、以下の要素を指定できます。

<automatic-key-generation>
<generator-type>Oracle</generator-type>
<generator-name>test_sequence</generator-name>
<key-cache-size>10</key-cache-size>
</automatic-key-generation>

<automatic-key-generation>
<generator-type>SQL-SERVER</generator-type>
</automatic-key-generation>

<automatic-key-generation>
<generator-type>NamedSequenceTable</generator-type>
<generator-name>MY_SEQUENCE_TABLE_NAME</generator-name>
<key-cache-size>100</key-cache-size>
</automatic-key-generation>

 


caching-element

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-bean
relationship-caching

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

caching-element 記述子は、関連する Bean に対してコンテナ管理による関係 (cmr-field) を指定し、関連する Bean 内の group-name を指定します。group-name を指定しなかった場合、デフォルトの group-name (全フィールドをロード) が使用されます。group-name の詳細については、「group-name」を参照してください。

WebLogic Server リリース 7.0 サービス パック 3 からは、EJB コンテナで複数の caching-element サブ要素が使えるようになりました。関連する DTD エントリは次のとおりです。

<!ELEMENT caching-element ( 
cmr-field,
group-name?,
caching-element*
)>

以前は次のような DTD エントリでした。

<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element?
)>

リレーションシップ キャッシングの詳細については、「エンティティ Bean のリレーションシップ キャッシング」を参照してください。

「relationship-caching」を参照してください。

 


caching-name

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-bean
relationship-caching

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

caching-name 要素は、リレーションシップ キャッシュの名前を指定します。リレーションシップ キャッシングの詳細については、「エンティティ Bean のリレーションシップ キャッシング」を参照してください。

「relationship-caching」を参照してください。

 


check-exists-on-method

指定できる値 :

True | False

デフォルト値 :

True

要件 :

.

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

デフォルトでは、EJB コンテナはコンテナ管理による永続性 (CMP) エンティティ Bean の有無を、Bean 上で呼び出されたビジネス メソッドが完了する前にチェックします。これは、削除されたコンテナ管理のエンティティ Bean 上で何らかのビジネス メソッドが呼び出されると、直ちにコンテナがアプリケーションに対して通知を行うことを意味します。

EJB コンテナが、存在するかどうかのチェックをする前にトランザクションの完了を待機するように指定するには、check-exists-on-methodFalse に設定します。これにより、大半のアプリケーションで高いパフォーマンスを実現しつつ、十分なレベルのチェックが提供されます。

次の例では、削除された CMP エンティティ Bean 上でビジネス メソッドが呼び出されたことを WebLogic Server がアプリケーションに通知するように指定しています。

<check-exists-on-method>True</check-exists-on-method>

 


cmp-field

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

このフィールドは大文字/小文字を区別するので、Bean のフィールド名と正しく一致していること。また、ejb-jar.xmlcmp-entry が指定されていること。

親要素 :

weblogic-rdbms-bean
field-map
weblogic-rdbms-relation
field-group

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

この名前は、Bean インスタンスのマップされたフィールドを指定します。Bean インスタンスのフィールドには、データベースから取得した情報が指定されている必要があります。

「field-map」を参照してください。

 


cmr-field

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

cmr-field で参照されるフィールドが、対応する cmr-field エントリを ejb-jar.xml に持っていること。

親要素 :

weblogic-rdbms-relation

field-group

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

cmr-field 要素は、コンテナ管理による関係フィールド (cmr-field) 名を指定します。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
	<weblogic-rdbms-relation>
		<field-group>employee</field-group>
				<cmp-field>employee stock purchases</cmp-field>
				<cmr-field>stock options</cmr-field>
	</weblogic-rdbms-relation>
</weblogic-rdbms-jar>

 


column-map

指定できる値 :

なし

デフォルト値 :

なし

要件 :

foreign-key-column がリモート Bean を参照する場合は、 key-column 要素を指定しないこと。

親要素 :

weblogic-rdbms-bean
weblogic-relationship-role

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

この要素は、データベース内のテーブルの外部キー カラムと対応する主キーのマッピングを表します。2 つのカラムは同じテーブルにある場合も別のテーブルにある場合もあります。カラムが属しているテーブルは、column-map 要素がデプロイメント記述子に表示されるコンテキストに対しては暗黙的です。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<column-map
<foreign-key-column>account-id</foreign-key-column>
<key-column>id</key-column>
</column-map>
  </weblogic-rdbms-bean>
</weblogic-rdbms-jar>

 


create-default-dbms-tables

指定できる値 :

Disabled | CreateOnly | DropAndCreate | DropAndCreateAlways |AlterOrCreate

デフォルト値 :

Disabled

要件 :

この要素は、開発および試作段階で役立つ場合にのみ使用する。使用する DBMS CREATE 文のテーブル スキーマがコンテナの最適な定義になる。一般に、プロダクション環境にはより正確なスキーマ定義が必要になる。

親要素 :

weblogic-rdbms-jar

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

create-default-dbms-table 要素は、基盤となるテーブル スキーマが変更されると、デプロイメント ファイルおよび Bean クラスの記述に基づいてデフォルト テーブルを自動作成する機能を有効化/無効化します。

Disabled に設定すると、この機能は無効化され、EJB コンテナはテーブル スキーマが変更されても何も行いません。

CreateOnlyDropAndCreateDropAndCreateAlways、または AlterOrCreate に設定した場合、この機能は有効化され、EJB コンテナは変更されたスキーマを検出するとテーブルを自動生成します。create-default-dbms-table の具体的な値は、デプロイメント中に EJB コンテナが、基盤となるスキーマの変更されたテーブルを削除して再作成するかどうか、またその方式を決定します。これは、次の箇条書きで説明します。

警告: 新しいカラムが主キーとして指定されているか、値が null のカラムが新しい主キー カラムとして指定されている場合には、この設定を選択しないでください。

TABLE CREATION が失敗した場合、サーバは Table Not Found エラーを送出するので、テーブルを手動で作成しなければなりません。

次の例では、create-default-dbms-tables 要素を指定します。

<create-default-dbms-tables>CreateOnly</create-default-dbms-tables>

 


database-type

指定できる値 :

DB2| Informix| Oracle| SQLServer| Sybase| POINTBASE.

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

database-type 要素は、基盤 DBMS として使用するデータベースを指定します。

次の例では、基盤 DBMS を指定しています。

<database-type>POINTBASE</database-type>

 


data-source-name

指定できる値 :

この Bean に対するすべてのデータベース接続で使用するデータ ソースの有効な名前

デフォルト値 :

なし

要件 :

データベース接続の標準 WebLogic Server JDBC データ ソースとして定義すること。データ ソースの詳細については、『WebLogic JDBC プログラマーズ ガイド』を参照。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

この Bean のすべてのデータベース接続に使用する JDBC データ ソース名を指定する data-source-name です。

「table-name」を参照してください。

 


db-cascade-delete

指定できる値 :


デフォルト値 :

なし

要件 :

Oracle データベースに対してのみサポート。1 対 1 または 1 対多関係についてのみ指定可能。

親要素 :

weblogic-rdbms-bean
weblogic-relationship-role

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

db-cascade-delete 要素は、データベース カスケード機能を有効にするかどうかを指定します。この要素を指定しなかった場合、WebLogic Server では、データベース カスケード削除が指定されていないものと見なされます。

「カスケード削除メソッド」を参照してください。

 


dbms-column

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

大文字/小文字を区別しないデータベースの場合でも、dbms-column では大文字/小文字を区別する。

親要素 :

weblogic-rdbms-bean
field-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

フィールドがマップされるデータベース カラムの名前です。

「field-map」を参照してください。

 


dbms-column-type

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :


親要素 :

weblogic-rdbms-bean
field-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

dbms-column-type 要素は、現在のフィールドを Oracle データベース内の Blob または Clob、または Sybase データベース内の LongString または SybaseBinary にマップします。この要素には、以下のいずれかを指定できます。

<field-map>
<cmp-field>photo</cmp-field>
<dbms-column>PICTURE</dbms-column>
<dbms_column-type>OracleBlob</dbms-column-type>
</field-map>

 


default-dbms-tables-ddl

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean
weblogic-rdbms-relation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

EJB コンテナがテーブル作成スクリプトを記述する DDL ファイル名を指定します。

 


delay-database-insert-until

指定できる値 :

ejbCreate | ejbPostCreate | commit

デフォルト値 :

ejbPostCreate

要件 :

cmr-field が null 値を許可しない foreign-key column にマップされている場合、データベースの挿入は ejbPostCreate の後に遅延される。この場合、cmr-fieldejbPostCreate で null でない値に設定してから Bean をデータベースに挿入しなければならない。

cmr-fields は、Bean の主キーが不明な段階で ejbCreate の中で設定することができない。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

delay-database-insert-until 要素は、RDBMS CMP を使用する新しい Bean をデータベースに挿入する正確な時間を指定します。

ejbPostCreate メソッドが Bean の永続フィールドを変更するまで、データベースの挿入を遅らせることをお勧めします。これにより、不要な保存操作を行わずに済むので、パフォーマンスが向上します。

最大限の柔軟性を実現するには、関連 Bean を ejbPostCreate メソッドで作成することは避ける必要があります。データベースの制約によって関連 Bean が未作成の Bean を参照できない場合、データベースの挿入を遅らせることができなくなる可能性があります。

次の例では、delay-database-insert-until 要素を指定します。

<delay-database-insert-until>ejbPostCreate</delay-database-insert-until>

 


description

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-bean
weblogic-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

description 要素は、親要素を示すテキストの指定に使用します。

次の例では、description 要素を指定します。

<dscription>Contains a description of parent element</description>

 


ejb-name

指定できる値 :

EJB の有効な名前

デフォルト値 :

なし

要件 :

ejb-jar.xml で定義した CMP エンティティ Bean の ejb-name に一致していること。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

ejb-cmp-rdbms.xml で定義した EJB を指定する名前です。この名前は、ejb-jar.xml で定義した CMP エンティティ Bean の ejb-name に一致している必要があります。

「table-name」を参照してください。

 


enable-batch-operations

指定できる値 :

True | False

デフォルト値 :

True

要件 :

なし

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

この要素は、EJB コンテナがバッチ挿入、バッチ更新およびバッチ削除などのバッチ処理を実行することを許可または拒否します。

この要素を True に設定すると、EJB はトランザクション中のデータベース処理をコミット時間まで遅延させます。

次の XML サンプルでは、enable-batch-operations 要素の使い方を示します。

<enable-batch-operations>True</enable-batch-operations>

 


field-group

指定できる値 :

有効な名前

デフォルト値 :

指定したグループを持たないファインダと関係に対して、default という特殊なグループを使用します。

要件 :

デフォルト グループには、Bean の cmp-field がすべて含まれるが、cmr-field は含まれない。

親要素 :

weblogic-rdbms-relation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

field-group 要素は、Bean の cmp-field と cmr-field のサブセットを表します。Bean 内の関連フィールドを、障害のあったグループに 1 つのユニットとしてまとめることができます。グループをファインダまたは関係に関連付けることができます。それによって、ファインダを実行するか、または関係に従った結果として Bean がロードされたときに、グループ内の指定フィールドのみがロードされます。

フィールドは複数のグループに関連付けられている場合があります。この場合、フィールドに対して getXXX メソッドを実行すると、そのフィールドを含む最初のグループで障害が発生します。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-bean>
<ejb-name>XXXBean</ejb-name>
<field-group>
<group-name>medical-data</group-name>
<cmp-field>insurance</cmp-field>
<cmr-field>doctors</cmr-fields>
</field-group>
</weblogic-rdbms-bean>

 


field-map

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

データベースのカラムにマップされたフィールドが、Bean の CMP フィールドに対応していること。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

データベースの特定のカラム用にマップされたフィールド名です。Bean インスタンスの CMP フィールドに対応しています。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
	<field-map>
<cmp-field>accountId</cmp-field>
<dbms-column>id</dbms-column>
</field-map>
	<field-map>
<cmp-field>balance</cmp-field>
<dbms-column>bal</dbms-column>
</field-map>
    <field-map>
<cmp-field>accountType</cmp-field>
<dbms-column>type</dbms-column>
</field-map>
  </weblogic-rdbms-bean>
</weblogic-rdbms-jar>

 


foreign-key-column

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

外部キーのカラムに対応していること。

親要素 :

weblogic-rdbms-bean
column-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

foreign-key-column 要素は、データベース内の外部キーのカラムを表します。

「column-map」を参照してください。

 


foreign-key-table

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-relation
weblogic-relationship-role
relationship-role-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

foreign-key-table 要素は、外部キーを格納する DBMS テーブル名を指定します。

「relationship-role-map」を参照してください。

 


generator-name

指定できる値 :

なし

デフォルト値 :

なし

要件 :

省略可能。

親要素 :

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

generator-name 要素は、ジェネレータの名前を指定する場合に使用します。

次に例を示します。

「automatic-key-generation」を参照してください。

 


generator-type

指定できる値 :

なし

デフォルト値 :

なし

要件 :

省略可能

親要素 :

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

generator-type 要素は、使用するキー生成方法を指定します。オプションは以下のとおりです。

「automatic-key-generation」を参照してください。

 


group-name

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-relation

field-group

weblogic-rdbms-bean

finder

finder-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

group-name 要素はフィールド グループ名を指定します。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
	<weblogic-rdbms-relation>
			<field-group>employee</field-group>
				<cmp-field>employee stock purchases</cmp-field>
				<cmr-field>stock options</cmr-field>
					<group-name>financial data</group-name>
	</weblogic-rdbms-relation>
</weblogic-rdbms-jar>

 


include-updates

指定できる値 :

True | False

デフォルト値 :

True

要件 :

デフォルトは False で、この設定は最大限のパフォーマンスを実現する。

親要素 :

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

include-updates 要素は、現在のトランザクション中の更新を必ずクエリの結果に反映するように指定します。この要素を True に設定した場合、コンテナは現在のトランザクションによる変更をすべてディスクにフラッシュしてからクエリを実行します。

デフォルト値は、オプティミスティックな同時実行性を使用する Bean の場合は False です。他の種類の同時実行性 (データベース、排他的など) を使用する Bean の場合は、デフォルト値は True です。

XML スタンザには、以下の要素を指定できます。

	<include-updates>False</include-updates>

 


key-cache-size

指定できる値 :

なし

デフォルト値 :

1

要件 :

省略可能

親要素 :

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

key-cache-size 要素は、自動主キー生成機能で利用可能な主キー キャッシュのサイズをオプションとして指定します。

「automatic-key-generation」を参照してください。

 


key-column

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

主キーのカラムに対応していること。

親要素 :

weblogic-rdbms-bean
column-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

key-column 要素は、データベース内の主キーのカラムを表します。

「column-map」を参照してください。

 


lock-order

指定できる値 :

すべての正の整数。

デフォルト値 :

0

要件 :

なし

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

このフラグを使用すると、トランザクションに複数の Bean および排他的同時実行性が関与する場合に、エンティティ Bean のデータベース ロックの順番を指定できます。最も小さい数値を付けられた Bean が最初にロックされます。

このフラグは、デッドロック状況を回避するためのみに使用します。また、現在はトランザクションがカスケード削除を実行する場合にしか適用されません。このフラグは現在、カスケード削除にのみ使用されます。

XML スタンザには、以下の要素を指定できます。

   <lock-order>1</lock-order>
         <!ELEMENT lock-order (PCDATA)>		

 


max-elements

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

max-elements は多値クエリによって返される要素の最大数を指定します。この要素は、JDBC の maxRows 機能とほぼ同じです。

XML スタンザには、以下の要素を指定できます。

   <max-elements>100</max-elements>
         <!ELEMENT max-element (PCDATA)>		

 


method-name

指定できる値 :

なし

デフォルト値 :

なし

要件 :

「*」文字はワイルドカードとして使用できない。

親要素 :

weblogic-rdbms-bean

query-method

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

method-name 要素は、ファインダ メソッドまたは ejbSelect メソッドの名前を指定します。

「weblogic-query」を参照してください。

 


method-param

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

method-params

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

method-param 要素には、Java タイプのメソッド パラメータの完全修飾名が含まれます。

XML スタンザには、以下の要素を指定できます。

<method-param>java.lang.String</method-param>

 


method-params

指定できる値 :

有効な名前のリスト

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

query-method

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

method-params 要素には、Java タイプのメソッド パラメータの完全修飾名の順序付きリストが含まれます。

「weblogic-query」を参照してください。

 


optimistic-column

指定できる値 :

なし

デフォルト値 :

なし

要件 :

すべてのデータベースが大文字と小文字を区別するわけではないものの、この要素では、大文字と小文字を区別する。

親要素 :

weblogic-rdbms-bean

table-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

optimistic-column 要素は、オプティミスティックな同時実行性を実装するためのバージョン値またはタイムスタンプ値を格納するデータベース カラムを示します。オプティミスティックな同時実行性の詳細については、「Optimistic 同時方式」を参照してください。

次の XML 例では、optimistic-column 要素の使い方を示します。

<optimistic-column>ROW_VERSION</optimistic-column>

 


order-database-operations

指定できる値 :

True | False

デフォルト値 :

True

要件 :


親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

EJB コンテナが、トランザクション内のすべてのデータベース処理をコミット時間まで遅延し、処理間でのデータベースの依存関係を自動的にソートし、これらの処理を、一切のデータベース制約エラーが生じない方式でデータベースに送るかどうかを決定します。

enable-batch-operationsTrue に設定すると、コンテナは自動的に order-database-operationsTrue に設定します。

次の XML 例では、order-database-operations 要素の使い方を示します。

<order-database-operations>True</order-database-operations>

 


primary-key-table

指定できる値 :

なし

デフォルト値 :

なし

要件 :

すべてのデータベースが大文字と小文字を区別するわけではないものの、この要素では、大文字と小文字を区別する。

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-relation
weblogic-relationship-role
relationship-role-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

primary-key-table 要素は、主キーを格納する DBMS テーブル名を指定します。主キーの詳細については、「主キーの使用」を参照してください。

次の XML スタンザでは、1 対 1 の関係の primary-key 側の Bean (Pk_bean) は複数のテーブルにマップされていますが、関係の foreign-key 側の Bean (Fk_Bean) は 1 つのテーブル (Fk_BeanTable) にマップされています。foreign-key カラム名は Fk_column_1 および Fk_column_2 です。

次の XML 例では、primary-key-table 要素の使い方を示します。

<relationship-role-map
<primary-key-table->Pk_BeanTable_1</primary-key-table>
<column-map>
<foreign-key-column>Fk_column_1</foreign-key-column>
<key-column>Pk_table1_pkColumn_1</key-column>
</column-map>
<column-map>
<foreign-key-column>Fk_column_2</foreign-key-column>
<key-column>Pk_table1_pkColumn_2</key-column>
</column-map>
</relationship-role-map>

 


query-method

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

query-method 要素は、weblogic-query に関連付けるメソッドを指定します。ejb-jar.xml 記述子と同じ形式を使用します。

「weblogic-query」を参照してください。

 


relation-name

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

関連する ejb-jar.xml デプロイメント記述子ファイルで定義した ejb-relation の ejb-relation-name に一致していること。ejb-relation-name は省略可能な要素だが、関連する ejb-jar.xml デプロイメント記述子ファイルで定義した ejb-relation ごとに必要になる。

親要素 :

weblogic-rdbms-relation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

relation-name 要素は関係の名前を指定します。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
	<weblogic-rdbms-relation>
		<relation-name>stocks-holders</relation-name>
			<table-name>stocks</table-name>
	</weblogic-rdbms-relation>
</weblogic-rdbms-jar>

 


relationship-caching

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

relation-caching 要素は、リレーションシップ キャッシングを指定します。リレーションシップ キャッシングの詳細については、「エンティティ Bean のリレーションシップ キャッシング」を参照してください。

XML スタンザには、以下の要素を指定できます。

<relationship-caching>
<caching-name>cacheMoreBeans</caching-name>
<caching-element>
<cmr-field>accounts<</cmr-field>
<group-name>acct_group</group-name>
<caching-element>
<cmr-field>address</cmr-field>
<group-name>addr_group</group-name>
</caching-element>
</caching-element>
	<caching-element>
<cmr-field>phone</cmr-field>
<group-name>phone_group</group-name>
</caching-element>
</relationship-caching>

 


relationship-role-map

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

関連する ejb-jar.xml 記述子ファイルで定義した ejb-relationship-roleejb-relationship-role-name に一致していること。

親要素 :

weblogic-rdbms-relation
weblogic-relationship-role

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

relationship-role-map 要素は、ある関係に加わっている Bean のキーカラム マッピングに対する 外部キー カラムを指定します。

XML スタンザには、以下の要素を指定できます。

<relationship-role-map
<foreign-key-table->Fk_BeanTable_2</foreign-key-table>
<column-map>
<foreign-key-column>Fk_column_1</foreign-key-column>
<key-column>Pk_table_pkColumn_1</key-column>
</column-map>
<column-map>
<foreign-key-column>Fk_column_2</foreign-key-column>
<key-column>Pk_table_pkColumn_2</key-column>
</column-map>
</relationship-role-map>

 


relationship-role-name

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

関連する ejb-jar.xml 記述子ファイルで定義した ejb-relationship-roleejb-relationship-role-name に一致していること。

親要素 :

weblogic-rdbms-relation
weblogic-relationship-role

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

relationship-role-name 要素は関係のロール名を指定します。1 対 1 の関係の foreign-key 側の Bean (Fk_Bean) は、次の XML スタンザで示すように複数のテーブルにマップされています。foreign-key カラムを持つテーブルを foreign-key-table 要素で指定する必要があります。「foreign-key-table」を参照してください。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
	<weblogic-rdbms-relation>
		<weblogic-relationship-role>stockholder</weblogic- relationship-role>
			<relationship-role-name>stockholders</relationship- role-name>
	</weblogic-rdbms-relation>
</weblogic-rdbms-jar>

 


sql-select-distinct

注意: この要素は非推奨です。同じ機能を得るには、ファインダ クエリで SELECT DISTINCT 句を直接使用してください。

指定できる値 :

True | False

デフォルト値 :

False

要件 :

Oracle データベースでは、SELECT DISTINCT を FOR UPDATE 句と一緒に使用できない。したがって、transaction-isolation 要素に isolation-level 下位要素を設定し、その下位要素の値を TransactionReadCommittedForUpdate に設定したメソッドを、呼び出しチェーンの Bean が備えている場合、sql-select-distinct 要素を使用することはできない。transaction-isolation 要素は weblogic-ejb-jar.xml ファイルで定義する。

親要素 :

weblogic-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

sql-select-distinct 要素は、生成される SQL SELECT 文に DISTINCT 修飾子が含まれるかどうかを指定します。DISTINCT 修飾子を使用すると、データベースから一意の行が返されます。

この要素を含む XML の例を示します。

<sql-select-distinct>True</sql-select-distinct>

 


table-map

指定できる値 :

なし

デフォルト値 :

なし

要件 :

table-map 要素に、その Bean の主キー フィールドのマッピングが含まれること。

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

table-map 要素は、 ある 1 つの Beanの cmp-field と 1 つのテーブルのカラムの間のマッピングを指定するものであり、そのテーブルにマッピングするすべての cmp-field を扱います。1 つの CMP Bean を n 個の DBMS テーブルにマップする場合、その Bean の n 個の table-map 要素を、n 個の DBMS テーブルごとに 1 つずつ指定しなくてはなりません。

1 つの CMP Bean を複数のテーブルにマップする場合、各テーブルには、1 つの特定の Bean インスタンスにマップする 1 行が含まれます。そのため、すべてのテーブルにはどの時点でも同数の行が含まれます。また、各テーブルには均一の主キーの値の並びが含まれます。したがって、各テーブルには均一の主キー カラムが含まれ、別々のテーブルの対応している主キー カラムどうしは名前は違うとしても同じタイプでなければなりません。

table-map 要素は、特定テーブルの主キー カラムから、Bean の主キー カラム フィールドへのマッピングを指定しなければなりません。主キー以外のフィールドは 1 つのテーブルにマップできるのみです。

XML スタンザには、以下の要素を指定できます。

<table-map>
<table-nme>DeptTable</table-name>
	<field-map>
<cmp-field>deptId1</cmp-field>
<dbms-column>t1_deptId1_column</dbms-column>
</field-map>
<field-map>
<cmp-field>deptId2</cmp-field>
<dbms-column>t1_deptId2_column</dbms-column>
</field-map>
<field-map>
<cmp-field>location</cmp-field>
<dbms-column>location_column</dbms-column>
</field-map>
<cmp-field>budget</cmp-field>
<dbms-column>budget</dbms-column>
</field-map>
<fieldmap
</table-map>

 


table-name

指定できる値 :

データベース内にあるソース テーブルの有効な完全修飾 SQL 名

デフォルト値 :

なし

要件 :

table-name を必ず設定すること。

親要素 :

weblogic-rdbms-bean

weblogic-rdbms-relation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

テーブルの完全修飾 SQL 名です。この Bean の data-source 用に定義したユーザには、指定したテーブルの読み取りおよび書き込み特権が必要ですが、スキーマ変更特権は必要ありません。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms.jar>
  <weblogic-rdbms-bean>
    <ejb-name>containerManaged</ejb-name>
    <data-source-name>examples-dataSource-demoPool</data-source-name>
    <table-name>ejbAccounts</table-name>
</weblogic-rdbms-bean>
</weblogic-rdbms-jar>

 


use-select-for-update

指定できる値 :

True | False

デフォルト値 :

False

要件 :

n/a

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

Bean 単位でペシミスティックな同時方式を強制します。True を指定すると、Bean がデータベースからロードされるときは常に SELECT ... FOR UPDATE が使用されます。TransactionReadCommittedForUpdate のトランザクション アイソレーション レベルとの相違点は、これがトランザクション レベルではなく、Bean レベルで設定されるということです。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms.jar>
  <weblogic-rdbms-bean>
    <ejb-name>containerManaged</ejb-name>
	<use-select-for-update>True</use-select-for-update>
</weblogic-rdbms-bean>
</weblogic-rdbms-jar>

 


validate-db-schema-with

指定できる値 :

MetaData | TableQuery

デフォルト値 :

TableQuery

要件 :

なし

親要素 :

weblogic-rdbms-jar

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

validate-db-schema-with 要素を指定すると、デプロイメント時に Bean が有効なデータベース スキーマにマップされているかどうかをコンテナ管理による永続性でチェックします。

MetaData を指定すると、WebLogic Server は、JDBC メタデータを使用してスキーマを検証します。

TableQuery (デフォルト設定) を指定すると、WebLogic Server は、テーブルを直接クエリし、CMP 実行時によって予期されているスキーマがテーブルにあるかどうかを確認します。

XML スタンザには、以下の要素を指定できます。

<validate-db-schema-with>TableQuery</validate-db-schema-with>

 


verify-columns

指定できる値 :

Read | Modified | Version | Timestamp.

デフォルト値 :

なし

要件 :

table-name を必ず設定すること。

親要素 :

weblogic-rdbms-bean

table-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

verify-columns 要素は、Optimistic 同時方式を使用したときに、WebLogic Server に有効性をチェックさせたいテーブル カラムを指定します。WebLogic Server は、トランザクションの終了時、データベースにコミットする前にカラムをチェックし、他のどのトランザクションもそのデータを変更していないことを確かめます。

詳細については、「Optimistic 同時方式」を参照してください。

XML スタンザには、以下の要素を指定できます。

<verify-columns>Modified</verify-columns>

 


verify-rows

指定できる値 :

Read | Modified

デフォルト値 :

Modified

要件 :

table-name を必ず設定すること。

親要素 :

weblogic-rdbms-bean

table-map

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

verify-rows 要素は、オプティミスティックな同時実行性の使用時に EJB コンテナがチェックすべきである、テーブル内の行を指定します。

Modified の値は、トランザクションによって更新または削除された行のみがチェックされることを意味します。Read の値は、トランザクションで読み込まれた行はすべてチェックすることを指定します。これには、単に読み込まれるだけの行と、読み込まれた後でトランザクションによって更新または削除される行の、両方が含まれます。

Read の値を指定すると、一般に EJB コンテナが実行しなくてはならないオプティミスティック チェックの回数が増えるため、オーバーヘッドが増加します。「Read」オプションを指定すると、コミットされたトランザクションは、トランザクションのコミット後まで別のトランザクションによって修正されないことが保証されている一連の行を読み込みます。この結果、SERIALIZABLE の一貫性の ANSI 定義と非常に近い、高度な一貫性が得られます。

一方、Modified の値を指定すると、2 つのトランザクションが同時に同じ行を更新して更新内容が失われることはないと保証されます。ただし、異なったトランザクションの読み込みおよび更新のインタリーブは許可されます。その結果、得られる一貫性のレベルは、ANSI の READ_COMMITTED レベルと REPEATABLE_READ レベルの間になります。

注意: verify-rowsRead に設定されていると、verify-columns 要素は Modified の値を持てない可能性があります。この組み合わせでは、EJB コンテナのチェックは修正された行にのみ行われると考えられるためです。

詳細については、「Optimistic 同時方式」を参照してください。

XML スタンザには、以下の要素を指定できます。

<verify-rows>Modified</verify-rows>

 


weblogic-ql

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-ql 要素は、EJB-QL に対する WebLogic 固有の拡張機能を含むクエリを指定します。ejb-jar.xml デプロイメント記述子では、EJB-QL 言語の標準機能だけを使用するクエリを指定しなければなりません。

「weblogic-query」を参照してください。

 


weblogic-query

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-bean

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-query 要素を使用すると、必要に応じて、WebLogic 固有の属性をクエリに関連付けることができます。たとえば、WebLogic 固有の EJB-QL に対する拡張機能を含むクエリを指定するために使用できます。EJB-QL に対する WebLogic の拡張機能を使用しないクエリは、ejb-jar.xml デプロイメント記述子で指定する必要があります。

また、クエリによってあらかじめキャッシュにロードしておく必要があるエンティティ Bean をクエリで取得する場合は、weblogic-query 要素を使用して、field-group をクエリに関連付けます。

XML スタンザには、以下の要素を指定できます。

<weblogic-query>
        <query-method>
          <method-name>findBigAccounts</method-name>
          <method-params>
				    <method-param>double</method-param>
          </method-params>
        <query-method>
				<weblogic-ql>WHERE BALANCE>10000 ORDERBY NAME</weblogic-ql>
		</weblogic-query>

 


weblogic-rdbms-bean

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-rdbms-bean は、WebLogic RDBMS CMP 永続性タイプによって管理された 1 つのエンティティ Bean を表します。

weblogic-rdbms-beanXML 構造を示します。

weblogic-rdbms-bean
ejb-name
data-source-name
table-map
field-group
relationship-caching
weblogic-query
dalay-database-insert-until
automatic-key-generation
check-exists-on-method

 


weblogic-rdbms-jar

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

なし

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-rdbms-jar 要素は、WebLogic RDMBS CMP デプロイメント記述子の最上位の要素です。この要素には、1 つまたは複数のエンティティ Beanと、一連の関係 (これについては省略可能) についてのデプロイメント情報が含まれます。

weblogic-rdbms-jar の XML 構造を示します。

weblogic-rdbms-jar
weblogic-rdbms-bean
weblogic-rdbms-relation
create-default-dbms-tables
validate-db-schema-with
database-type

 


weblogic-rdbms-relation

指定できる値 :

なし

デフォルト値 :

なし

要件 :

なし

親要素 :

weblogic-rdbms-jar

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-rdbms-relation は、WebLogic CMP 永続性タイプによって管理されている 1 つの関係を表します。WebLogic Server では、以下の 3 種類の関係のマッピングをサポートしています。

1 対 1 の関係を示す weblogic-rdbms-relationXML 構造は、次のとおりです。

<weblogic-rdbms-relation>
<relation-name>employee-manager</relation-name>
<weblogic-relationship-role>
<relationship-role-name>employee
</relationship-role-name>
<relationship-role-name>
<<column-map>
<foreign-key-column>manager-id
</foreign-key-column>
<key-column>id</key-column>
</column-map>
<relationship-role-name>
</weblogic-relationship-role>
</weblogic-rdbms-relation>

 


weblogic-relationship-role

指定できる値 :

有効な名前

デフォルト値 :

なし

要件 :

ロールのテーブルへのマッピングを、関連する weblogic-rdbms-bean および ejb-relation 要素で指定すること。

親要素 :

weblogic-rdbms-jar
weblogic-rdbms-relation

デプロイメント ファイル :

weblogic-cmp-rdbms-jar.xml

機能

weblogic-relationship-role 要素は、外部キーから主キーへのマッピングを表すのに使用します。1 つのみのマッピングは、関係がローカルの場合、1 対 1 の関係で指定します。ただし、多対多の関係では、2 つのマッピングを指定する必要があります。

キーが複数の場合、複数カラムのマッピングは単独のロールに対して指定します。ロールが group-name を指定しているだけの場合、column-map は指定されません。

XML スタンザには、以下の要素を指定できます。

<weblogic-rdbms-jar>
	<weblogic-rdbms-relation>
		<relation-name>stocks-holders</relation-name>
			<table-name>stocks</table-name>
			<weblogic-relationship-role>stockholder </weblogic-relationship-role>
	</weblogic-rdbms-relation>
</weblogic-rdbms-jar>

 

 Back to Top Previous Next