ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server Doc Home   |     Console Online Help   |   前へ   |   次へ   |   目次   |   索引   |   PDF

RDBMS デプロイメント記述子

 

 


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

この章では、バージョン 6.1 の WebLogic Server に固有の XML 要素について説明します。これらの要素は weblogic600-cmp-rdbms-jar.xml ファイルを構成し、WebLogic Server EJB コンテナ内のデプロイメント記述子を定義するために使われるものです。 これらの要素は、WebLogic Server Administration Console のほぼ同じ名前のフィールドに対応します。これらのデプロイメント記述子はバージョン 2.0 の EJB に対して使用します。

automatic-key-generation

値の範囲

なし

デフォルト値

なし

要件

省略可能

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

automatic-key-generation 要素では、シーケンス/キー生成機能を使用するかどうかを指定します。

cmp-field

値の範囲

有効な名前

デフォルト値

なし

要件

フィールドの値は大文字/小文字が区別され、Bean 内のフィールド名と一致しなければならない。また、このフィールドに対応する cmp-entry エントリが ejb-jar.xml に必要である。

親要素

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

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

この名前は、データベースから取得された情報が入る、Bean インスタンス内のマッピング対象フィールドを指定します。

cmr-field

値の範囲

有効な名前

デフォルト値

なし

要件

cmr-field で参照されるフィールドに対して、値が一致する cmr-field エントリが ejb-jar.xml に必要である。

親要素

weblogic-rdbms-relation

field-group

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

cmr-field 要素は、cmr-field の名前を指定します。

column-map

値の範囲

なし

デフォルト値

なし

要件

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

親要素

weblogic-rdbms-bean
weblogic-relationship-role

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

この要素は、データベースの 1 つのテーブル内の外部キー列から、対応する主キーへのマッピングを表現します。 2 つの列は同じテーブルに存在していても、していなくてもかまいません。 列が属するテーブルは、column-map 要素がデプロイメント記述子に出現するコンテキストから暗黙のうちに自明です。

create-default-dbms-table

値の範囲

True | False

デフォルト値

False

要件

この要素は、開発およびプロトタイピング フェーズの間にのみ便宜的に使用する。 これは、使用される DBMS CREATE 文におけるテーブル スキーマが、コンテナの最適な定義概算となるからである。 ほとんどの場合、プロダクション環境ではより正確なスキーマ定義が必要となる。

親要素

weblogic-rdbms-jar

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

create-default-dbms-table 要素では、デプロイメント ファイルの記述および Bean クラスに基づいてデフォルト テーブルを自動的に作成する機能を有効または無効にします。 False に設定すると、この機能は無効になり、テーブルは自動的に生成されません。 True に設定すると、この機能が有効になりテーブルが自動的に作成されます。 TABLE CREATION が失敗すると、Table Not Found エラーが送出されます。その場合、テーブルを手動で作成しなければなりません。

data-source-name

値の範囲

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

デフォルト値

なし

要件

データベース接続用の、標準の WebLogic Server JDBC データ ソースとして定義しなければならない。

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

data-source-name 要素では、この Bean のすべてのデータベース接続で使われる JDBC データ ソース名を指定します。

db-cascade-delete

値の範囲


デフォルト値

なし

要件

Oracle データベースだけに対応する要素。 1 対 1 または 1 対多の関係に対してのみ指定可能。

親要素

weblogic-rdbms-bean
weblogic-relationship-role

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

db-cascade-delete 要素では、データベース カスケード機能を有効にするかどうかを指定します。

dbms-column

値の範囲

有効な名前

デフォルト値

なし

要件

dbms-column では大文字/小文字が保持されるが、すべてのデータベースで大文字/小文字が区別されるとは限らない。

親要素

weblogic-rdbms-bean
field-map

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

フィールドがマッピングされるデータベース列の名前です。

dbms-column-type

値の範囲

有効な名前

デフォルト値

なし

要件

Oracle データベースとの組み合わせでのみ使用可能。

親要素

weblogic-rdbms-bean
field-map

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

dbms-column-type 要素は、現在のフィールドを Oracle データベースの BLOB または CLOB にマッピングします。 この要素には OracleBlob または OracleClob のどちらかを使用できます。

delay-database-insert-until

値の範囲


デフォルト値

ejbPostCreate

要件

NULL 値を許容しない foreign-key columncmr-field がマッピングされるとき、データベースへの挿入操作は ejbPostCreate が完了するまで遅延される。 この場合、Bean がデータベースに挿入される前に、ejbPostCreate において cmr-field を NULL 以外の値に設定しなければならない。

Bean の主キーが判明するまでは、ejbCreate の実行中に cmr-field が設定されない場合がある。

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

ejbPostCreate メソッドが Bean の永続フィールドを変更し終えるまでの間、データベースへの挿入操作を遅延することが推奨されます。 これにより、不必要なストア操作が回避され、パフォーマンスが向上する可能性があります。

柔軟性を最大限に高めるためには、互いに関連する Bean を ejbPostCreate メソッドで作成しないようにすることをお勧めします。 このような処理を行うと、まだ作成されていない Bean を関連する Bean が参照することを禁じるデータベース制約がある場合に、データベース挿入の遅延を実施できなくなる場合があります。

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 と一致しなければなりません。

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 メソッドでは、そのフィールドを含む最初のグループが対象となります。

field-map

値の範囲

有効な名前

デフォルト値

なし

要件

データベースの列にマッピングされるフィールドは、Bean の CMP フィールドに対応しなければならない。

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

Bean インスタンスの CMP フィールドに対応し、データベースの特定の列にマッピングされるフィールドの名前です。

foreign-key-column

値の範囲

有効な名前

デフォルト値

なし

要件

外部キーの列に対応しなければならない。

親要素

weblogic-rdbms-bean
column-map

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

generator-name

値の範囲

なし

デフォルト値

なし

要件

省略可能

親要素

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

generator-name 要素は、ジェネレータの名前を指定するために使われます。

次に例を示します。

generator-type

値の範囲

なし

デフォルト値

なし

要件

省略可能

親要素

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

generator-type 要素では、使用するキー生成メソッドを指定します。 指定できる値には、次のものがあります。

group-name

値の範囲

有効な名前

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-relation

field-group

weblogic-rdbms-bean

finder

finder-query

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

include-updates

値の範囲

True | False

デフォルト値

False

要件

パフォーマンスを優先する場合、デフォルト値の False を使用する。

親要素

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

include-updates 要素では、現在のトランザクションの間に行われる更新を、クエリの結果に反映する必要があるかどうかを指定します。 この要素を True に設定すると、コンテナはクエリを実行する前に、現在のトランザクションによって行われるすべての変更をディスクに書き出します。

key-cache-size

値の範囲

なし

デフォルト値

なし

要件

省略可能

親要素

weblogic-rdbms-bean
automatic-key-generation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

key-cache-size 要素は、主キー自動生成機能で利用できる主キー キャッシュのサイズを指定します。この要素は省略可能です。

key-column

値の範囲

有効な名前

デフォルト値

なし

要件

主キーの列に対応しなければならない。

親要素

weblogic-rdbms-bean
column-map

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

max-elements

値の範囲

なし

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

max-elements 要素では、多値クエリによって返される要素数の上限を指定します。 この要素は JDBC の maxRows 機能に似た働きをします。

method-name

値の範囲

なし

デフォルト値

なし

要件

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

親要素

weblogic-rdbms-bean

query-method

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

method-param

値の範囲

有効な名前

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

method-params

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

method-param 要素では、メソッド パラメータの Java 型名を指定します。型名は完全修飾形式で指定します。

method-params

値の範囲

有効な名前のリスト

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

query-method

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

method-params 要素では、メソッド パラメータの Java 型名の順序付きリストを指定します。型名は完全修飾形式で指定します。

query-method

値の範囲

なし

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

query-method 要素では、weblogic-query と関連付けられるメソッドを指定します。 この要素の指定には、デプロイメント記述子 ejb-jar.xml と同じ形式を使用します。

relation-name

値の範囲

有効な名前

デフォルト値

なし

要件

関連付けられた記述子ファイル ejb-jar.xml 内の ejb-relation 要素の子である ejb-relation-name と一致しなければならない。

親要素

weblogic-rdbms-relation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

relationship-role-name

値の範囲

有効な名前

デフォルト値

なし

要件

関連付けられた記述子ファイル ejb-jar.xml 内の ejb-relationship-role 要素の子である ejb-relationship-role-name と一致しなければならない。

親要素

weblogic-rdbms-relation
weblogic-relationship-role

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

relationship-role-name 要素では、関係ロールの名前を指定します。

table-name

値の範囲

データベース内のソース テーブルの有効な SQL 名(完全修飾形式)

デフォルト値

なし

要件

table-name は常に設定しなければならない。

親要素

weblogic-rdbms-bean

weblogic-rdbms-relation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

テーブルの完全修飾 SQL 名。 この Bean の data-source に対して定義されるユーザは、このテーブルに対して読み取りおよび書き込みの権限を持つ必要がありますが、スキーマ変更の権限は必ずしも必要ではありません。

weblogic-ql

値の範囲

なし

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

weblogic-query

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

weblogic-ql 要素には、EJB QL 言語に対する WebLogic 固有の機能拡張を含むクエリを指定します。 EJB QL 言語の標準機能だけを使用するクエリについては、デプロイメント記述子 ejb-jar.xml に指定することを推奨します。

weblogic-query

値の範囲

なし

デフォルト値

なし

要件

なし

親要素

weblogic-rdbms-bean

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

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

また、weblogic-query 要素には、クエリによって事前にキャッシュにロードしておくことが望ましいエンティティ Bean をクエリが取得する場合に、フィールド グループ(field-group 要素で指定)をクエリと関連付ける用途もあります。

weblogic-relationship-role

値の範囲

有効な名前

デフォルト値

なし

要件

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

親要素

weblogic-rdbms-relation

デプロイメント ファイル

weblogic-cmp-rdbms-jar.xml

機能

weblogic-relationship-role 要素は、外部キーから主キーへのマッピングを表現するために使われます。 関係がローカルであるとき、1 対 1 関係に対する 1 つのマッピングだけが指定されます。 多対多の関係については、2 つのマッピングを指定しなければなりません。

キーが複雑な場合、1 つのロールに対して複数の列マッピングが指定されます。 ロールが単にグループ名を指定しているだけの場合、column-map は指定されません。

この節では、バージョン 6.1 の WebLogic Server に固有の XML 要素について説明します。これらの要素は weblogic510-cmp-rdbms-jar.xml ファイルを構成し、WebLogic Server EJB コンテナ内のデプロイメント記述子を定義するために使われるものです。 これらの要素は、WebLogic Server Administration Console のほぼ同じ名前のフィールドに対応します。これらのデプロイメント記述子はバージョン 1.1 の EJB に対して使用します。

RDBMS 定義要素

ここでは、RDBMS 定義要素について説明します。

pool-name

pool-name 要素では、この EJB のデータベース接続で使われる WebLogic Server 接続プールの名前を指定します。

schema-name

schema-name 要素では、ソース テーブルがデータベース内に位置するスキーマを指定します。 この要素は、EJB の接続プールに定義されたユーザにとってのデフォルト スキーマではないスキーマを使用する場合にのみ必要です。

注意: このフィールドでは大文字/小文字が区別されますが、多くの SQL 実装では大文字/小文字の区別は無視されます。

table-name

table-name 要素では、データベース内のソース テーブルを指定します。 この要素は常に必要です。

注意: EJB の接続プールに定義されるユーザは、指定されたテーブルに対して読み取りおよび書き込みの権限を持つ必要がありますが、スキーマ変更の権限は必ずしも必要ではありません。 このフィールドでは大文字/小文字が区別されますが、多くの SQL 実装では大文字/小文字の区別は無視されます。

EJB フィールド マッピング要素

ここでは、EJB フィールド マッピング要素について説明します。

attribute-map

attribute-map 属性は、EJB インスタンスの 1 つのフィールドをデータベース テーブルの特定の列とリンクします。 attribute-map では、WebLogic Server の RDBMS ベースの永続性を利用する EJB の各フィールドに対して、厳密に 1 つのエントリを指定しなければなりません。

object-link

個々の attribute-map エントリは、データベースの列および EJB インスタンスのフィールド間のリンクを表現する object-link 属性で構成されます。

bean-field

bean-field 属性では、データベースから取得されたデータが入る EJB インスタンスのフィールドを指定します。 この要素では大文字/小文字が区別され、要素の値は Bean インスタンスのフィールドの名前と厳密に一致しなければなりません。

また、この要素で参照されるフィールドに対応する cmp-field 要素が、Bean の ejb-jar.xml ファイルで定義されている必要があります。

dbms-column

dbms-column 要素では、EJB のフィールドがマッピングされるデータベースの列を指定します。 この要素では大文字/小文字が区別されますが、多くのデータベースでは大文字/小文字の区別は無視されます。

注意: WebLogic Server では、dbms-column 要素の値として、引用符で囲んだ RDBMS キーワードを使用できません。 たとえば、"create" や "select" のような列名を使った属性マップは、使用するデータストアでそれらの語が予約済みである場合には作成できません。

ファインダ要素

ここでは、ファインダ要素について説明します。

finder-list

finder-list 要素は、Bean 集合の位置を特定するために生成される全ファインダの集合を定義します。

finder-list には、findByPrimarykey メソッドを除き、ホーム インターフェースに定義される個々のファインダ メソッドに対して必ず 1 つのエントリを定義しなければなりません。 findByPrimaryKey に対応するエントリが定義されない場合、コンパイル時にエントリが生成されます。

注意: findByPrimaryKey に対応するエントリを指定しない場合、WebLogic Server はコンパイル時に生成されるエントリを、妥当性を検証することなく使用します。 ほとんどの場合、findByPrimaryKey に対応するエントリの定義を省略して、デフォルトで生成されるメソッドを使うことが推奨されます。

finder

finder 要素は、ホーム インターフェースに定義されるファインダ メソッドを定義します。 WebLogic Server は finder 要素の子要素を参照することによって、ホーム インターフェースのどのメソッドが記述対象となっているかを識別し、必要なデータベース操作を実行できます。

method-name

method-name 要素では、ホーム インターフェースのファインダ メソッドの名前を定義します。 この要素にはメソッドの正確な名前を指定しなければなりません。

method-params

method-params 要素では、method-name に指定されているファインダ メソッドに渡されるパラメータの集合を定義します。

注意: WebLogic Server はこのリストを、EJB のホーム インターフェースに定義されたファインダ メソッドのパラメータ型と照合します。パラメータ リストの順序および型は、ホーム インターフェースに定義された順序および型と厳密に一致しなければなりません。

method-param

method-param 要素では、パラメータの型の名前を完全修飾形式で定義します。 型名は java.lang.Class オブジェクトに評価され、評価結果のオブジェクトは、EJB のファインダ メソッドの各パラメータと厳密に一致しなければなりません。

パラメータのプリミティブ名(double や int など)を使って、プリミティブ型のパラメータを指定することができます。 プリミティブでないデータ型を method-param 要素で使用する場合は、完全修飾名を指定しなければなりません。 たとえば、Timestamp ではなく java.sql.Timestamp と指定します。 修飾名を使用しないと、デプロイメント ユニットのコンパイル時に ejbc によってエラー メッセージが返されます。

finder-query

finder-query 要素は、このファインダでデータベースから値を取得するために使われる WebLogic Query Language(WLQL)文字列を指定します。

注意: finder-query 要素の値であるテキストは、常に XML の CDATA 属性を使って定義します。 CDATA を使うことにより、ファインダのコンパイル時に、WLQL 文字列内の特殊文字が原因でエラーが発生することがなくなります。

finder-expression

finder-expression 要素では、このファインダでのデータベース クエリで変数として使用する Java 言語拡張を指定します。

注意: WebLogic Server EJB コンテナの将来のバージョンでは、(EJB 2.0 仕様の要件に従って)EJB QL クエリ言語が使われる予定です。 EJB QL では、埋め込み形式の Java 式を使用できません。 そのため、将来の EJB コンテナへのアップグレードを容易にするために、エンティティ EJB のファインダを作成するときは、WLQL に Java 式を埋め込まないようにしてください。

 

back to top previous page next page