• 検索結果がありません。

EJB LocalObjects

ドキュメント内 ejb.book (ページ 183-189)

Oracle DBMS の BLOB および CLOB DBMS カ ラムのサポー ト

EJB 2 EJB LocalObjects

EJB LocalHome EJB ホーム EJB オブジ ェ ク ト

5 WebLogic Server のコ ン テナ管理によ る永続性サービ ス

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

グループ

コ ンテナ管理に よ る永続性では、 グループを使用し て、 エンテ ィ テ ィ Bean の特 定の永続的な属性を指定し ます。 field-group は、 Bean の cmp-field と CMR-field のサブセ ッ ト を表し ます。 Bean 内の関連フ ィ ール ド を、 障害のあ ったグループ にまと めて 1 つのユニ ッ ト と し て メ モ リ 内に入れる こ と ができ ます。 グループを

ク エ リ または関係に関連付け る こ と がで き ます。 それに よ っ て、 ク エ リ を実行す る か、 ま たは関係に従っ た結果 と し て Bean が ロー ド さ れた と き に、 グループ内 の指定フ ィ ール ド のみが ロー ド さ れます。

指定し たグループを持たない ク エ リ と 関係に対し て、 「default」 と い う 特殊なグ ループを使用し ます。 デフ ォル ト では、 default グループには、 Bean のすべての

CMP-field と 、 Bean の永続的な状態に外部キーを追加するすべての CMR-field

が格納 さ れます。

フ ィ ール ド は複数のグループに関連付け ら れている場合があ り ます。 こ の場合、

フ ィ ール ド に対し て getXXX() メ ソ ッ ド を実行する と 、 そのフ ィ ール ド を含む最 初のグループで障害が発生し ます。

フ ィ ール ド グループの指定

フ ィ ール ド グループは、weblogic-rdbms-cmp-jar.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>

フ ィ ール ド グループは、 フ ィ ール ド のサブセ ッ ト にア ク セスする必要があ る と き に使用し ま す。

EJB リ ン ク の使用

EJB リ ン クの使用

WebLogic Server では、 EJB 2.0 仕様で定義さ れてい る EJB リ ン ク を完全にサ

ポー ト し ています。 アプ リ ケーシ ョ ン コ ンポーネン ト 内で EJB 参照を宣言し、

こ れを同じ J2EE アプ リ ケーシ ョ ン内で宣言さ れたエン タープ ラ イ ズ Bean に リ ン ク さ せる こ と ができ ま す。

ejb-linkを作成する には、 次の手順に従います。

1. 参照元のアプ リ ケーシ ョ ン コ ンポーネン ト にあ る ejb-ref 要素の任意指定 のデプ ロ イ メ ン ト 記述子要素、 ejb-linkを使っ て EJB への リ ン ク を指定し ま す。

ejb-linkの値は必ず、 参照先 と な る EJB の ejb-name に し ます。 参照先の EJB は、 参照元アプ リ ケーシ ョ ン コ ンポーネン ト と 同じ J2EE アプ リ ケー シ ョ ンの EJB JAR フ ァ イルのどれかに含ま れてい る と 考え ら れま す。

ejb-name は EJB JAR フ ァ イ ル間で必ず し も ユニー ク でな く て も よいため、

その リ ン ク の絶対パス を与え る必要があ る か も し れません。

2. 次の構文を使っ て、 同じ J2EE アプ リ ケーシ ョ ン内の EJB へのパス名を与え ます。

<ejb-link>../products/product.jar#ProductEJB</ejb-link>

こ の参照では参照先の EJB が含まれる EJB JAR フ ァ イ ルのパス名を与え、

「#」 でパス名 と 区別し て参照先 Bean の ejb-nameを追加し ます。 こ のパス 名は、 参照元のアプ リ ケーシ ョ ン コ ンポーネン ト JAR フ ァ イ ルか ら の相対 パスです。

デプ ロ イ メ ン ト 記述子を指定する手順については、6-6 ページの 「EJB デプ ロ イ メ ン ト 記述子の指定 と 編集」 を参照し て く だ さ い。

5 WebLogic Server のコ ン テナ管理によ る永続性サービ ス

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

CMP フ ィ ール ドの Java データ型

次の表は、 WebLogic Server で使用 さ れる CMP フ ィ ール ド の Java データ型 と 、 それに対応する標準 SQL データ型の Oracle 拡張を示し ています。

5-3 CMP フ ィ ールドの Java データ型

CMP フ ィ ール ドの Java の型 Oracle のデー タ型

boolean SMALLINT

byte SMALLINT

char SMALLINT

double NUMBER

float NUMBER

int INTEGER

long NUMBER

short SMALLINT

java.lang.String VARCHAR/VARCHAR2 java.lang.Boolean SMALLINT

java.lang.Byte SMALLINT

java.lang.Character SMALLINT java.lang.Double NUMBER

java.lang.Float NUMBER

java.lang.Integer INTEGER

java.lang.Long NUMBER

java.lang.Short SMALLINT

CMP フ ィ ール ド の Java デー タ 型

SQL CHAR データ型は、 CMP フ ィ ール ド にマ ッ プ さ れるデータベース カ ラ ムに

は使用し ないで く だ さ い。 こ の こ と は、 主キーの一部であ る フ ィ ール ド で特に重 要です。 なぜな ら、 JDBC ド ラ イバに よ っ て返さ れるパデ ィ ン グの空白は、 等し いかど う かの比較を不適切に失敗さ せるか ら です。 SQL CHAR の代わ り に、

SQL VARCHAR データ型を使用し て く だ さ い。

byte[]型の CMP フ ィ ール ド は、equals() メ ソ ッ ド と hashCode() メ ソ ッ ド を 備え る ユーザ定義の主キー ク ラ スで ラ ッ プ さ れていない限 り 主キー と し ては使 用でき ません。 なぜな ら、byte[]ク ラ スには実質的な equals および hashCode が備わっ ていないか ら です。

java.sql.Date DATE

java.sql.Time DATE

java.sql.Timestamp DATE java.math.BigDecimal NUMBER

byte[] RAWLONG RAW

serializable RAWLONG RAW

CMP フ ィ ールドの Java の型 Oracle のデータ型

5 WebLogic Server のコ ン テナ管理によ る永続性サービ ス

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

6 WebLogic Server コ ンテナ用の

ドキュメント内 ejb.book (ページ 183-189)