ヘッダーをスキップ

Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド
10g(10.1.3.1.0)

B31852-03
目次
目次
索引
索引

戻る 次へ

26 デプロイメント・ディスクリプタ・ファイルの構成

この章では、OC4Jアプリケーションで使用できる次のような様々なデプロイメント・ディスクリプタ・ファイルの構成方法を説明します。

詳細は、「EJBデプロイメント・ディスクリプタ・ファイルについて」を参照してください。

ejb-jar.xmlファイルの構成

この項の内容は次のとおりです。

詳細は、「ejb-jar.xmlファイルとは」を参照してください。

移行時のejb-jar.xmlの作成

EJB 2.1の場合のみ、移行時にejb-jar.xmlファイルを自動的に生成できます(「TopLink EJB 2.1永続性マネージャへの移行」を参照)。生成後に、TopLink Workbenchを使用して、このファイルをカスタマイズおよび再エクスポートできます(「TopLink Workbenchの使用方法」を参照)。

デプロイ時のejb-jar.xmlファイルの作成

1つ以上のアノテーションのあるEJB 3.0アプリケーションのデプロイ時に、OC4Jはそのメモリー内のejb-jar.xmlファイルをデプロイ・ディレクトリ内のorion-ejb-jar.xmlファイルと同じ場所(<ORACLE_HOME>/j2ee/home/application-deployments/
my_application/META-INF
)に書き込みます。

このejb-jar.xmlファイルは、アノテーションとデプロイ済ejb-jar.xmlファイル(存在する場合)の両方から取得された構成を表します。

JDeveloperでのejb-jar.xmlの作成

JDeveloperを使用して、ejb-jar.xmlファイルを生成および更新できます。

詳細は、「JDeveloperの使用方法」を参照してください。

toplink-ejb-jar.xmlファイルの構成

toplink-ejb-jar.xmlファイルは、TopLink JPAプレビュー永続性プロバイダを使用している場合にのみ適用されます。


注意

OC4Jでは、TopLink Essentials JPA永続性プロバイダがデフォルトで使用されます。この場合、TopLink JPA拡張を使用して、TopLinkディスクリプタレベルのオプション(マッピングを含む)を構成できます(「TopLink Essentials JPA永続性を使用したTopLink APIへの実行時アクセス」を参照)。 


この項の内容は次のとおりです。

詳細は、次を参照してください。

移行時のtoplink-ejb-jar.xmlの作成

EJB 2.1プロジェクトの場合のみ、Orion CMPアプリケーションをTopLink永続性に移行する場合(「TopLink EJB 2.1永続性マネージャへの移行」を参照)、TopLink移行ツールはtoplink-ejb-jar.xmlファイルを自動的に作成します。生成後に、TopLink Mapping Workbenchを使用して、カスタマイズおよび再エクスポートできます(『Oracle TopLink開発者ガイド』の「TopLink Workbench」を参照)。

TopLink Workbenchでのtoplink-ejb-jar.xmlの作成

EJB 3.0プロジェクトでは、エンティティ・クラスで使用しているJDK 1.5言語拡張がアノテーションのみの場合は、TopLink Workbenchを使用してtoplink-ejb-jar.xmlファイルを作成および構成できます。TopLink Workbenchを使用して、このファイルを作成および構成することをお薦めします。

EJB 2.1プロジェクトの場合は、TopLink Workbenchを使用して、toplink-ejb-jar.xmlファイルで永続性プロパティを構成します。Orion CMPアプリケーションをTopLink永続性に移行する場合(「TopLink EJB 2.1永続性マネージャへの移行」を参照)、TopLink移行ツールはTopLink Workbenchプロジェクトを自動的に作成します。TopLink Workbenchプロジェクトを使用してtoplink-ejb-jar.xmlファイルを作成できます。

詳細は、次を参照してください。

orion-ejb-jar.xmlファイルの構成

OC4J固有のオプションを指定するため、orion-ejb-jar.xmlファイルを作成し、次の適切な要素を構成できます。

詳細は、「orion-ejb-jar.xmlファイルとは」を参照してください。


注意

別の方法として、EJB 3.0アプリケーションでは、セッションBeanおよびメッセージドリブンBeanに対してOC4J固有のアノテーションを使用できます。orion-ejb-jar.xmlファイルのベンダー拡張設定は、OC4J固有のアノテーションを使用した拡張設定に優先します。

詳細は、次を参照してください。

 

ejb3-toplink-sessions.xmlファイルの構成

ejb3-toplink-sessions.xmlファイルは、TopLink JPAプレビュー永続性プロバイダを使用している場合にのみ適用されます。


注意

OC4Jでは、TopLink Essentials JPA永続性プロバイダがデフォルトで使用されます。この場合、TopLink JPA拡張を使用して、TopLinkセッションレベルのオプションを構成できます(「TopLink Essentials JPA永続性を使用したTopLink APIへの実行時アクセス」を参照)。 


この項の内容は次のとおりです。

詳細は、「ejb3-toplink-sessions.xmlファイルとは」を参照してください。

TopLink Workbenchでのejb3-toplink-sessions.xmlの作成

EJB 3.0アプリケーションでは、エンティティ・クラスで使用しているJDK 1.5言語拡張がアノテーションのみの場合は、TopLink Workbenchを使用してejb3-toplink-sessions.xmlファイルを作成および構成できます。TopLink Workbenchを使用して、このファイルを作成および構成することをお薦めします。

詳細は、次を参照してください。

persistence.xmlファイルの構成

この項の内容は次のとおりです。

詳細は、「persistence.xmlファイルとは」を参照してください。

名前付き永続性ユニットを含むpersistence.xmlファイルの構成

例26-1に、1つの永続性ユニットを含むpersistence.xmlファイルの例を示します。

例26-1    名前付き永続性ユニット

<persistence-unit name="OrderManagement5">
    <provider>com.acme.persistence</provider>
    <transaction-type>RESOURCE_LOCAL</transaction-type>
    <mapping-file>order1.xml</mapping-file>
    <jar-file>order.jar</jar-file>
    <class>com.acme.Order</class>
    <properties>
        <property name="com.acme.persistence.sql-logging" value="on"/>
    </properties>
</persistence-unit>

 

この永続性ユニットはOrderManagement5という名前で、EntityManagerプロバイダcom.acme.persistenceを使用します。その<transaction-type>では、この永続性ユニットでJTA以外のデータソースのみが必要とされるよう指定します。<mapping-file><jar-file><class>の要素をすべて使用して永続管理クラスの設定を定義します
「この永続性ユニットに含まれる永続管理クラス」を参照)。<property>要素を使用して、プロパティcom.acme.persistence.sql.loggingを値onに設定します。

<persistence-unit>要素の属性およびサブ要素の詳細は、EJB 3.0の仕様を参照してください。

この永続性ユニットに含まれる永続管理クラス

次の1つ以上を使用して、永続性ユニットに関連付けられている永続管理クラスを指定できます。

OC4Jのデフォルト永続性ユニットのpersistence.xmlファイルの構成

OC4Jのデフォルトの永続性ユニットを使用すると、永続性ユニットを名前で指定しなくてもエンティティ・マネージャを取得できます(「OC4Jの永続性ユニットのデフォルトについて」を参照)。

デフォルトでは、OC4Jのデフォルト永続性ユニットを使用するために、persistence.xmlファイルをデプロイする必要は一切ありません。

orion-ejb-jar.xmlファイルの属性disable-default-persistent-unittrueに設定した場合、OC4Jはpersistence.xmlファイルを必要とします。この場合も、空の永続性ユニットを指定する場合にOC4Jのデフォルトの永続性ユニットを使用できます。persistence.xmlファイルは、次のいずれかを使用して空の永続性ユニットで構成します。

有効範囲またはモジュールごとに1つの永続性ユニットを指定できます(EJB JARごとに1つなど)。

永続性ユニットでのデータソースの指定

Java EEアプリケーションでは、例26-2に示すように、<jta-data-source>要素でデータソースを指定します。詳細は、第20章「データソースの構成」を参照してください。

Java SEアプリケーションでは、例26-3に示すように、JDBCベンダー拡張を使用してデータソースを指定します。詳細は、「JDBC用のTopLink JPA拡張(Java SE)」を参照してください。

または、OC4Jを通じて、デフォルトのデータソースを使用できます(「デフォルトのデータソース」を参照)。

永続性ユニットでのベンダー拡張の構成

この項では、永続性ユニットに定義できる次のようなTopLink JPAベンダー拡張について説明します。

これらのベンダー拡張を指定するには、persistence.xmlファイルの<properties>要素を使用します。例26-2に、Java EEアプリケーションでpersistence.xmlファイルにTopLink JPA永続性ユニットの拡張を設定する方法を示し、例26-3に、Java SEアプリケーションで同じ拡張を設定する方法を示します。

例26-2    persistence.xmlファイルでのベンダー拡張の構成(Java EE)

<persistence-unit name="default" transaction-type="JTA">
    <provider>
        oracle.toplink.essentials.PersistenceProvider
    </provider>
    <jta-data-source>
        jdbc/MyDataSource
    </jta-data-source>
    <properties>
        <property name="toplink.logging.level" value="INFO"/>
    </properties>
</persistence-unit>

例26-3    persistence.xmlファイルでのベンダー拡張の構成(Java SE)

<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
    <provider>
        oracle.toplink.essentials.PersistenceProvider
    </provider>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
        <property name="toplink.logging.level" value="INFO"/>
        <property name="toplink.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
        <property name="toplink.jdbc.url" value="jdbc:oracle:thin:@myhost:l521:MYSID"/>
        <property name="toplink.jdbc.password" value="tiger"/>
        <property name="toplink.jdbc.user" value="scott"/>
    </properties>
</persistence-unit>

 

または、例26-4に示すように、TopLink JPA永続性ユニットの拡張をプロパティのMapに設定し、javax.persistence.PersistenceのメソッドcreateEntityManagerFactoryへのコールに渡すことができます。この方法で、persistence.xmlファイルに設定された拡張をオーバーライドできます。プロパティのMapに拡張を設定する場合、次のようなoracle.toplink.essentials.configの適切な構成クラスのpublic static finalフィールドを使用してその値を設定できます。

例26-4に、CacheType構成クラスを使用して拡張toplink.cache.type.defaultの値を設定する方法を示します。

例26-4    EntityManagerFactory作成時のベンダー拡張の構成

import oracle.toplink.essentials.config.CacheType;

Map properties = new HashMap();
properties.put(TopLinkProperties.CACHE_TYPE_DEFAULT, CacheType.Full);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("default", properties);

 

JDBC用のTopLink JPA拡張(Java SE)

表26-1に、JDBCドライバ・パラメータを構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。これらの拡張は、EJBコンテナの外部で使用する場合にのみ適用されます。

表26-1    JDBC用のTopLink JPA拡張(Java SE) 
プロパティ  使用方法  デフォルト 

toplink.jdbc.bind-parameters 

問合せでパラメータ・バインディングを使用するかどうかを制御します。

詳細は、『Oracle TopLink開発者ガイド』の
「一致する問合せおよびディスクリプタの使用」を参照してください。

有効な値:

  • true: すべてのパラメータをバインドします。

  • false: パラメータをバインドしません。

例: persistence.xmlファイル

<property name="toplink.jdbc.bind-parameters" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_BIND_PARAMETERS, "true");
 

true 

toplink.jdbc.driver 

パッケージ名で完全修飾された、使用するJDBCドライバのクラス名。このクラスは、アプリケーション・クラスパスに含める必要があります。

例: persistence.xmlファイル

<property name="toplink.jdbc.driver"
value="oracle.jdbc.driver.OracleDriver"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_DRIVER,
"oracle.jdbc.driver.OracleDriver");
 

 

toplink.jdbc.password 

JDBCユーザーのパスワード。

例: persistence.xmlファイル

<property name="toplink.jdbc.password" value="tiger"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_PASSWORD, "tiger");
 

 

toplink.jdbc.read-connections.max 

JDBC読取り接続プールで使用可能な接続の最大数。

有効な値: (JDBCドライバに応じて)String
0Integer.MAX_VALUE

例: persistence.xmlファイル

<property name="toplink.jdbc.read-connections.max" value="3"/>

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_READ_CONNECTIONS_MAX, "3");
 

toplink.jdbc.read-connections.min 

JDBC読取り接続プールで使用可能な接続の最小数。

有効な値: (JDBCドライバに応じて)String
0Integer.MAX_VALUE

例: persistence.xmlファイル

<property name="toplink.jdbc.read-connections.min" value="1"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_READ_CONNECTIONS_MIN, "1");
 

toplink.jdbc.read-connections.shared 

共有読取り接続の同時使用を許可するかどうかを指定します。

有効な値:

  • true: 共有読取り接続の同時使用を許可します。

  • false: 共有読取り接続の同時使用を許可しません。
    同時読取りが発生した場合、それぞれに独自の読取り接続が割り当てられます。

例: persistence.xmlファイル

<property name="toplink.jdbc.read-connections.shared" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.
JDBC_READ_CONNECTIONS_SHARED, "true");
 

false 

toplink.jdbc.url 

JDBCドライバで必要とされるJDBC接続URL。

例: persistence.xmlファイル

<property name="toplink.jdbc.url" 
value="jdbc:oracle:thin:@MYHOST:1521:MYSID"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_URL,
"jdbc:oracle:thin:@MYHOST:1521:MYSID");
 

 

toplink.jdbc.user 

JDBCユーザーのユーザー名。

例: persistence.xmlファイル

<property name="toplink.jdbc.user" value="scott"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_USER, "scott");
 

 

toplink.jdbc.write-connections.max 

JDBC書込み接続プールで使用可能な接続の最大数。

有効な値: (JDBCドライバに応じて)String
0Integer.MAX_VALUE

例: persistence.xmlファイル

<property name="toplink.jdbc.write-connections.max" value="5"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.JDBC_WRITE_CONNECTIONS_MAX, "5");
 

10 

toplink.jdbc.write-connections.min 

JDBC書込み接続プールで使用可能な接続の最小数。

有効な値: (JDBCドライバに応じて)String
0Integer.MAX_VALUE

例: persistence.xmlファイル

<property name="toplink.jdbc.write-connections.min" value="2"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.
JDBC_WRITE_CONNECTIONS_MIN, "2");
 

キャッシング用のTopLink JPA拡張

表26-2に、TopLinkキャッシュを構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。

詳細は、『Oracle TopLink開発者ガイド』のキャッシュの理解に関する項を参照してください。

表26-2    キャッシング用のTopLink JPA拡張 
プロパティ  使用方法  デフォルト 

toplink.cache.type.default 

セッション・キャッシュのデフォルト・タイプ。

セッション・キャッシュは、特定のセッションに関連付けられたクライアントにサービスを提供する共有キャッシュです。クライアント・セッションを使用するデータソースを対象にオブジェクトの読取りまたは書込みが発生すると、TopLinkによりそのオブジェクトのコピーが親のサーバー・セッションのキャッシュに保存され、子のクライアント・セッションからアクセス可能になります。

有効な値: oracle.toplink.essentials.config.CacheType

  • Full: このオプションでは、完全なキャッシングが実行され、識別情報が保証されます。オブジェクトは、削除されないかぎりメモリーからフラッシュされません。

    詳細は、『Oracle TopLink開発者ガイド』の「完全アイデンティティ・マップ」を参照してください。

  • HardWeak: このオプションは、Weakに似ていますが、ハード参照を使用する最多使用サブキャッシュを維持するところが異なります。

    詳細は、『Oracle TopLink開発者ガイド』の「ソフト/ハード・キャッシュ弱アイデンティティ・マップ」を参照してください。

  • NONE: このオプションでは、オブジェクト識別情報は維持されず、オブジェクトはキャッシュされません。このオプションは使用しないことをお薦めします。

    詳細は、『Oracle TopLink開発者ガイド』の「アイデンティティ・マップなし」を参照してください。

  • SoftWeak: このオプションは、Weakに似ていますが、ソフト参照を使用する最多使用サブキャッシュを維持するところが異なります。通常の環境でキャッシュに使用されるメモリーを制御する手段としては、このアイデンティティ・マップを使用することをお薦めします。

    詳細は、『Oracle TopLink開発者ガイド』の「ソフト/ハード・キャッシュ弱アイデンティティ・マップ」を参照してください。

  • Weak: このオプションは、Fullに似ていますが、弱い参照を使用してオブジェクトを参照するところが異なります。このオプションでは、使用されるメモリーがFullより減少しますが、クライアント/サーバー・トランザクション間でキャッシュ計画は維持されません。開始したトランザクションがサーバー・サイドで継続される場合は、このアイデンティティ・マップを使用することをお薦めします。

    詳細は、『Oracle TopLink開発者ガイド』の「弱アイデンティティ・マップ」を参照してください。

例: persistence.xmlファイル

<property name="toplink.cache.type.default" value="Full"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.CacheType;
import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.CACHE_TYPE_DEFAULT, CacheType.Full);
 

SoftWeak 

toplink.cache.size.default 

TopLinkキャッシュに許可するデフォルトの最大オブジェクト数。

有効な値: String0Integer.MAX_VALUE

例:

<property name="toplink.cache.size.default" value="5000"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.CACHE_SIZE_DEFAULT, 1000);
 

1000 

toplink.cache.shared.default 

TopLinkセッション・キャッシュを複数のクライアント・セッションで共有するかどうかのデフォルト。

有効な値:

  • true: セッション・キャッシュは、そのセッションに関連付けられたすべてのクライアントにサービスを提供します。クライアント・セッションを使用するデータソースを対象にオブジェクトの読取りまたは書込みが発生すると、TopLinkによりそのオブジェクトのコピーが親のサーバー・セッションのキャッシュに保存され、セッション内の他のすべてのプロセスからアクセス可能になります。

  • false: セッション・キャッシュは、単一の孤立クライアントにのみ排他的にサービスを提供します。孤立クライアントは、共有セッション・キャッシュのオブジェクトを参照できますが、他のクライアントは孤立クライアントの排他キャッシュのオブジェクトを参照できません。

例:

<property name="toplink.cache.shared.default" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.
CACHE_SHARED_DEFAULT, "true");
 

true 

toplink.cache.type.<ENTITY> 

<ENTITY>というJPAエンティティのセッション・キャッシュのタイプ。

エンティティ名の詳細は、@Entityを参照してください。

有効な値: oracle.toplink.essentials.config.CacheType

  • Full: toplink.cache.type.defaultを参照してください。

  • HardWeak: toplink.cache.type.defaultを参照してください。

  • NONE: toplink.cache.type.defaultを参照してください。

  • SoftWeak: toplink.cache.type.defaultを参照してください。

  • Weak: toplink.cache.type.defaultを参照してください。

例: persistence.xmlファイル

<property name="toplink.cache.type.Order" value="Full"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.CacheType
import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.CACHE_TYPE+".Order", CacheType.Full);
 

SoftWeak 

toplink.cache.size.<ENTITY> 

TopLinkキャッシュに許可する、JPAエンティティ名<ENTITY>で示されるタイプのJPAエンティティの最大数。

エンティティ名の詳細は、@Entityを参照してください。

有効な値: String0Integer.MAX_VALUE

例:

<property name="toplink.cache.size.Order" value="5000"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.CACHE_SIZE+".Order", 1000);
 

1000 

toplink.cache.shared.<ENTITY> 

TopLinkセッション・キャッシュを、JPAエンティティ名<ENTITY>で示されるタイプのJPAエンティティの複数のクライアント・セッションで共有するかどうか。

エンティティ名の詳細は、@Entityを参照してください。

有効な値:

  • true: セッション・キャッシュは、そのセッションに関連付けられたすべてのクライアントにサービスを提供します。クライアント・セッションを使用するデータソースを対象にオブジェクトの読取りまたは書込みが発生すると、TopLinkによりそのオブジェクトのコピーが親のサーバー・セッションのキャッシュに保存され、セッション内の他のすべてのプロセスからアクセス可能になります。

  • false: セッション・キャッシュは、単一の孤立クライアントにのみ排他的にサービスを提供します。孤立クライアントは、共有セッション・キャッシュのオブジェクトを参照できますが、他のクライアントは孤立クライアントの排他キャッシュのオブジェクトを参照できません。

例:

<property name="toplink.cache.shared.Order" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(ToplinkProperties.CACHE_SHARED+".Order", "true");
 

true 

ロギング用のTopLink JPA拡張

表26-3に、TopLinkロギングを構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。

詳細は、『Oracle TopLink開発者ガイド』の「ロギングの構成」を参照してください。

表26-3    ロギング用のTopLink JPA拡張 
プロパティ  使用方法  デフォルト 

toplink.logging.level 

ログ・レベルを構成してログ出力の量と詳細度を制御します(次のログ・レベルは、情報量の少ない順に記載されています)。

有効な値: java.util.logging.Level

  • OFF: ロギングは無効です。

  • Level.SEVERE: TopLinkが続行不可能であることを示す例外と、ログイン中に生成されるすべての例外を記録します。これには、スタック・トレースが含まれます。

  • WARNING: SEVEREレベルで記録されないすべての例外を含め、TopLinkを停止させることのない例外を記録します。これには、スタック・トレースは含まれません。

  • INFO: ユーザー名を含め、各サーバー・セッションのログインおよびログアウトを記録します。セッションの取得後に、詳細な情報が記録されます。

  • CONFIG: ログイン、JDBC接続およびデータベース情報のみを記録します。

  • FINE: SQLを記録します。

  • FINER: WARNINGと同様です。スタック・トレースが含まれます。

  • FINEST: 低レベルな追加情報が含まれます。

例: persistence.xmlファイル

<property name="toplink.logging.level" value="WARNING"/>

 

例: プロパティMap

import java.util.logging.Level;
import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.LOGGING_LEVEL, Level.INFO);
 

CONFIG 

toplink.logging.timestamp 

各ログ・エントリにタイムスタンプを記録するかどうかを制御します。

有効な値:

  • true: タイムスタンプを記録します。

  • false: タイムスタンプを記録しません。

例: persistence.xmlファイル

<property name="toplink.logging.timestamp" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.LOGGING_TIMESTAMP, "true");
 

true 

toplink.logging.thread 

各ログ・エントリにスレッド識別子を記録するかどうかを制御します。

有効な値:

  • true: スレッド識別子を記録します。

  • false: スレッド識別子を記録しません。

例: persistence.xmlファイル

<property name="toplink.logging.thread" value="true"/>

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.LOGGING_THREAD, "true");
 

true 

toplink.logging.session 

各ログ・エントリにTopLinkセッション識別子を記録するかどうかを制御します。

有効な値:

  • true: TopLinkセッション識別子を記録します。

  • false: TopLinkセッション識別子を記録しません。

例: persistence.xmlファイル

<property name="toplink.logging.session" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.LOGGING_SESSION, "true");
 

true 

toplink.logging.exceptions 

TopLinkコード内からスローされる例外をコール側アプリケーションに返す前に記録するかどうかを制御します。すべての例外が記録され、アプリケーション・コードでマスクされないことが保証されます。

有効な値:

  • true: すべての例外を記録します。

  • false: 例外を記録しません。

例: persistence.xmlファイル

<property name="toplink.logging.exceptions" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.LOGGING_EXCEPTIONS, "true");
 

false 

データベース、セッションおよびアプリケーション・サーバー用のTopLink JPA拡張

表26-4に、データベース、セッションおよびアプリケーション・サーバー用のTopLink拡張を構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。

表26-4    データベース、セッションおよびアプリケーション・サーバー用のTopLink JPA拡張 
プロパティ  使用方法  デフォルト 

toplink.target-database 

JPAアプリケーションで使用するデータベースのタイプを指定します。TargetDatabase列挙には、サポートされる多くの一般的なデータベース・タイプのエントリが含まれます。

有効な値: oracle.toplink.essentials.config.TargetDatabase

  • Attunity: Attunityデータベースを使用するよう永続性プロバイダを構成します。

  • Auto: TopLinkは、データベースにアクセスし、JDBCが提供するメタデータを使用してターゲット・データベースを決定します。この設定は、このメタデータをサポートするJDBCドライバで使用可能です。

  • Cloudscape: Cloudscapeデータベースを使用するよう永続性プロバイダを構成します。

  • Database: ターゲット・データベースがここにリストされておらず、Autoオプションに必要なメタデータの使用がJDBCドライバでサポートされない場合、一般的な選択オプションを使用するよう永続性プロバイダを構成します。

  • DB2: DB2データベースを使用するよう永続性プロバイダを構成します。

  • DB2Mainframe: DB2Mainframeデータベースを使用するよう永続性プロバイダを構成します。

  • DBase: DBaseデータベースを使用するよう永続性プロバイダを構成します。

  • Derby: Derbyデータベースを使用するよう永続性プロバイダを構成します。

  • HSQL: HSQLデータベースを使用するよう永続性プロバイダを構成します。

  • Informix: Informixデータベースを使用するよう永続性プロバイダを構成します。

  • JavaDB: JavaDBデータベースを使用するよう永続性プロバイダを構成します。

  • MySQL4: MySQL4データベースを使用するよう永続性プロバイダを構成します。

  • Oracle: Oracleデータベースを使用するよう永続性プロバイダを構成します。

  • PointBase: PointBaseデータベースを使用するよう永続性プロバイダを構成します。

  • PostgreSQL: PostgreSQLデータベースを使用するよう永続性プロバイダを構成します。

  • SQLAnyWhere: SQLAnyWhereデータベースを使用するよう永続性プロバイダを構成します。

  • SQLServer: SQLServerデータベースを使用するよう永続性プロバイダを構成します。

  • Sybase: Sybaseデータベースを使用するよう永続性プロバイダを構成します。

  • TimesTen: TimesTenデータベースを使用するよう永続性プロバイダを構成します。

例: persistence.xmlファイル

<property name="toplink.target-database" value="Oracle"/>

例: プロパティMap

import oracle.toplink.essentials.config.TargetDatabase;
import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.TARGET_DATABASE, TargetDatabase.Oracle);
 

Auto 

toplink.session-name 

静的セッション・マネージャにTopLinkセッションを格納する場合の名前を指定します。Java永続性APIのコンテキストの外部でTopLink共有セッションにアクセスする必要がある場合、このオプションを使用します。

有効な値: サーバー・デプロイ内で一意となる有効なTopLinkセッション名

例: persistence.xmlファイル

<property name="toplink.session-name" value="MySession"/>

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.SESSION_NAME, "MySession");
 

TopLinkが生成する一意の名前 

toplink.target-server 

JPAアプリケーションで使用するアプリケーション・サーバーのタイプを指定します。

有効な値: oracle.toplink.essentials.config.TargetServer

  • None: アプリケーション・サーバーを使用しないよう永続性プロバイダを構成します。

  • OC4J_10_1_3: OC4Jリリース10.1.3.0を使用するよう永続性プロバイダを構成します。

  • SunAS9: Sun Application Serverバージョン9を使用するよう永続性プロバイダを構成します。

例: persistence.xmlファイル

<property name="toplink.target-server" value="OC4J_10_1_3"/>

例: プロパティMap

import oracle.toplink.essentials.config.TargetServer;
import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.
TARGET_SERVER, TargetServer.OC4J_10_1_3);
 

None 

カスタマイズ用のTopLink JPA拡張

表26-5に、TopLinkのカスタマイズおよび検証を構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。

表26-5    カスタマイズおよび検証用のTopLink JPA拡張 
プロパティ  使用方法  デフォルト 

toplink.weaving 

エンティティ・クラスのウィービングを実行するかどうかを制御します。
ウィービングは、@OneToOneおよび@ManyToOneの関連の遅延フェッチを使用するために必要です。

有効な値:

  • true: エンティティ・クラスをウィービングします。

  • false: エンティティ・クラスをウィービングしません。

  • static: エンティティ・クラスを静的にウィービングします。


    JVMコマンドラインで-javagent:toplink-essentials-agent.jarを使用できない環境において
    Java EE 5コンテナの外部でアプリケーションを実行する場合、このオプションを使用します。

例: persistence.xmlファイル

<property name="toplink.weaving" value="true"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.WEAVING, "true");
 

true 

toplink.session.customizer 

TopLinkセッション・カスタマイザ・クラスを指定します。このクラスは、oracle.toplink.essentials.tools.sessionconfiguration.SessionCustomizerインタフェースを実装し、
デフォルトの(引数なしの)コンストラクタを提供するJavaクラスです。このクラスのcustomizeメソッドを使用してoracle.toplink.essentials.sessions.Sessionを取得し、拡張TopLinkセッションAPIにプログラム的にアクセスします。

詳細は、セッションのカスタマイズに関する項を参照してください。

有効な値: パッケージ名で完全修飾されたSessionCustomizerクラスの名前

例: persistence.xmlファイル

<property name="toplink.session.customizer" 
value="acme.sessions.MySessionCustomizer"/>

 

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.SESSION_CUSTOMIZER,
"acme.sessions.MySessionCustomizer");
 

 

toplink.descriptor.customizer.
<ENTITY>
 

TopLinkディスクリプタ・カスタマイザ・クラスを指定します。このクラスは、oracle.toplink.essentials.tools.sessionconfiguration.DescriptorCustomizerインタフェースを実装し、デフォルトの(引数なしの)コンストラクタを提供するJavaクラスです。このクラスのcustomizeメソッドを使用してoracle.toplink.essentials.descriptors.ClassDescriptorを取得し、<ENTITY>というJPAエンティティに関連付けられたディスクリプタの拡張TopLinkディスクリプタおよびマッピングAPIにプログラム的にアクセスします。

エンティティ名の詳細は、@Entityを参照してください。

TopLinkディスクリプタの詳細は、次を参照してください。

  • ディスクリプタの理解に関する項

  • ディスクリプタのカスタマイズに関する項

有効な値: パッケージ名で完全修飾されたDescriptorCustomizerクラスの名前

例: persistence.xmlファイル

<property name="toplink.descriptor.customizer.Order" 
value="acme.sessions.MyDescriptorCustomizer"/>

例: プロパティMap

import oracle.toplink.essentials.config.TopLinkProperties;
propertiesMap.put(TopLinkProperties.DESCRIPTOR_CUSTOMIZER+".Order",
"acme.sessions.MyDescriptorCustomizer");
 

 

スキーマ生成用のTopLink JPA拡張

表26-6に、スキーマ生成を構成するためにpersistence.xmlファイルに定義できるTopLink JPA拡張をリストします。

表26-6    スキーマ生成用のTopLink JPA拡張 
プロパティ  使用方法  デフォルト 

toplink.ddl-generation 

JPAエンティティに対するデータ定義言語(DDL)の生成アクションを指定します。DDL生成ターゲットを指定する方法は、toplink.ddl-generation.output-modeを参照してください。

有効な値: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider

  • none: DDLを生成しません。スキーマは生成されません。

  • create-tables: 存在しない表に対してDDLを作成します。既存の表は変更されません(toplink.create-ddl-jdbc-file-nameも参照)。

  • drop-and-create-tables: すべての表に対してDDLを作成します。既存の表はすべて削除されます(toplink.create-ddl-jdbc-file-nameおよびtoplink.drop-ddl-jdbc-file-nameも参照)。

例: persistence.xmlファイル

<property name="toplink.ddl-generation" value="create-tables"/>

例: プロパティMap

import oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider.DDL_GENERATION,
EntityManagerFactoryProvider.CREATE_ONLY);
 

none 

toplink.application-location 

生成されたDDLファイルをTopLinkが書き込む場所を指定します(toplink.create-ddl-jdbc-file-nameおよびtoplink.drop-ddl-jdbc-file-nameを参照)。ファイルが書き込まれるのは、toplink.ddl-generationnone以外に設定されている場合です。

有効な値: 書込みアクセス権のあるディレクトリに対するファイル指定。このファイル指定は、現在の作業ディレクトリに対する相対パスか、または絶対パスとすることが可能です。ファイル指定がファイル・セパレータで終了していない場合、使用中のオペレーティング・システムに有効なセパレータがTopLinkにより追加されます。

例: persistence.xmlファイル

<property name="toplink.application-location" value="C:¥ddl¥"/>

例: プロパティMap

import oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider.APP_LOCATION, "C:¥ddl¥");
 

"."+File.separator 

toplink.create-ddl-jdbc-file-name 

TopLinkにより生成される、JPAエンティティ用の表を作成するためのSQL文を含むSQLファイルの名前を指定します。このファイルは、toplink.ddl-generationcreate-tablesまたはdrop-and-create-tablesに設定されている場合に、toplink.application-locationによって指定された場所に書き込まれます。

有効な値: 使用中のオペレーティング・システムに有効なファイル名。toplink.application-location + toplink.create-ddl-jdbc-file-nameの連結が使用中のオペレーティング・システムに有効なファイル指定である場合は、オプションでファイル名の先頭にファイル・パスを追加できます。

例: persistence.xmlファイル

<property name="toplink.create-ddl-jdbc-file-name" value="create.sql"/>

例: プロパティMap

import oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider.
CREATE_JDBC_DDL_FILE, "create.sql");
 

 

toplink.drop-ddl-jdbc-file-
name
 

TopLinkにより生成される、JPAエンティティ用の表を削除するためのSQL文を含むSQLファイルの名前を指定します。このファイルは、toplink.ddl-generationdrop-and-create-tablesに設定されている場合に、toplink.application-locationによって指定された場所に書き込まれます。

有効な値: 使用中のオペレーティング・システムに有効なファイル名。toplink.application-location + toplink.drop-ddl-jdbc-file-nameの連結が使用中のオペレーティング・システムに有効なファイル指定である場合は、オプションでファイル名の先頭にファイル・パスを追加できます。

例: persistence.xmlファイル

<property name="toplink.drop-ddl-jdbc-file-name" value="drop.sql"/>

例: プロパティMap

import oracle.toplink.essentials.ejb.cmp3.
EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider. DROP_JDBC_DDL_FILE, "drop.sql");
 

 

toplink.ddl-generation.
output-mode
 

このプロパティを使用して、DDL生成ターゲットを指定します。

有効な値: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider

  • both: SQLファイルを生成し、データベースで実行します。

    toplink.ddl-generationcreate-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nametoplink.application-locationに書き込まれ、データベースで実行されます。

    toplink.ddl-generationdrop-and-create-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nametoplink.drop-ddl-jdbc-file-nameの両方がtoplink.application-locationに書き込まれ、両方のSQLファイルがデータベースで実行されます。

  • database: データベースでSQLを実行するのみです(SQLファイルは生成しません)。

    toplink.ddl-generationcreate-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nameがデータベースで実行されます。toplink.application-locationには書き込まれません。

    toplink.ddl-generationdrop-and-create-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nametoplink.drop-ddl-jdbc-file-nameの両方がデータベースで実行されます。どちらもtoplink.application-locationには書き込まれません。

  • sql-script: SQLファイルを生成するのみです(データベースでは実行しません)。

    toplink.ddl-generationcreate-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nametoplink.application-locationに書き込まれます。データベースでは実行されません。

    toplink.ddl-generationdrop-and-create-tablesに設定されている場合、toplink.create-ddl-jdbc-file-nametoplink.drop-ddl-jdbc-file-nameの両方がtoplink.application-locationに書き込まれます。どちらもデータベースでは実行されません。

例: persistence.xmlファイル

<property name="toplink.ddl-generation.output-mode" value="database"/>

例: プロパティMap

import oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider.DDL_GENERATION_MODE,
EntityManagerFactoryProvider.DDL_DATABASE_GENERATION);
 

Java EEモード(createContainerEntityManagerFactoryがコールされる場合): both

Java SEモード(createEntityManagerFactoryがコールされる場合): sql-script 


戻る 次へ
Oracle
Copyright © 2002, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引