永続性プロパティの拡張機能のアルファベット順リスト
次に、Oracle TopLinkの永続性プロパティ(persitence.xml
ファイル)の拡張機能をアルファベット順にリストします。
application-location
eclipselink.application-location
プロパティを使用して、TopLinkによってDDLファイルが書き込まれる(出力される)ファイル・システム・ディレクトリを指定します。
値
表5-1は、この永続性プロパティの値を説明しています。
表5-1 application-locationの有効値
値 | 説明 |
---|---|
value |
ディレクトリの場所。完全修飾されたパスを指定する必要があります。Windowsではバックスラッシュを使用します。UNIXではスラッシュを使用します。 |
使用方法
このオプションは、eclipselink.ddl-generation.output-mode
の値がsql-script
またはboth
の場合にのみ設定できます。
例5-1 persistence.xmlでのapplication-locationの使用
<property name="eclipselink.application-location" value="c:/YOURDIRECTORY/"/>
例5-2 プロパティ・マップでのapplication-locationの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.APPLICATION_LOCATION, "c:/YOURDIRECTORY/");
cache.coordination.channel
eclipselink.cache.coordination.channel
プロパティを使用して、クラスタ環境のキャッシュ・コーディネーションを構成します。
値
表5-2は、この永続性プロパティの値を説明しています。
表5-2 cache.coordination.channelの有効値
値 | 説明 |
---|---|
チャネル名 |
キャッシュ・コーディネーションに使用するチャネル。同じチャネルを使用するすべての永続性ユニットがコーディネート対象です。 デフォルト: |
使用方法
同一ネットワーク上に複数のEclipseLinkデプロイメントが存在する場合は、それぞれ異なるチャネルを使用する必要があります。
例5-3 persistence.xmlでのapplication-locationの使用
<property name="eclipselink.cache.coordination.channel" value="EmployeeChannel" />
例5-4 プロパティ・マップでのcache.coordination.channelの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.CACHE_COORDINATION_CHANNEL, "myChannel");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jms.factory
クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.factory
プロパティを使用して、JMSトピック・コネクション・ファクトリ名を構成します。
値
表5-3は、この永続性プロパティの値を説明しています。
表5-3 cache.coordination.jms.factoryの有効値
値 | 説明 |
---|---|
name |
JMSトピック・コネクション・ファクトリ名 デフォルト: |
使用方法
このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol
= jms
の場合)。
例
このプロパティの使用方法の詳細は、例5-13を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jms.host
クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.host
プロパティを使用して、トピックをホストするJMSサーバーのURLを構成します。
値
表5-4は、この永続性プロパティの値を説明しています。
表5-4 cache.coordination.jms.hostの有効値
値 | 説明 |
---|---|
url |
JMSサーバーの完全修飾されたURL。 トピックがクラスタ全体にわたって分散されている(つまり、ローカルJNDIで検索できる)場合には不要です。 |
使用方法
このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol
= jms
の場合)。完全修飾されたURLを使用する必要があります。
例
このプロパティの使用方法の詳細は、例5-13を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jms.reuse-topic-publisher
eclipselink.cache.coordination.jms.reuse-topic-publisher
プロパティを使用して、JSM転送マネージャがTopicPubliser
をキャッシュし、すべてのキャッシュ・コーディネーションの公開に再利用するかどうかを指定します。
値
表5-5は、この永続性プロパティの値を説明しています。
表5-5 cache.coordination.jms.reuse-topic-publisherの有効値
値 | 説明 |
---|---|
|
トピック・パブリッシャがキャッシュされます。 |
|
(デフォルト)トピック・パブリッシャはキャッシュされません。 |
使用方法
このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol
= jms
の場合)。
例
このプロパティの使用方法の詳細は、例5-13を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jms.topic
クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.topic
プロパティを使用して、JMSトピック名を設定します。
値
表5-6は、この永続性プロパティの値を説明しています。
表5-6 cache.coordination.jms.topicの有効値
値 | 説明 |
---|---|
name |
JMSトピック名を設定します。 デフォルト: |
使用方法
このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol
= jms
の場合)。
例
このプロパティの使用方法の詳細は、例5-13を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jndi.initial-context-factory
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.jndi.initial-context-factory
プロパティを使用して、JNDI InitialContext
ファクトリを設定します。
値
表5-7は、この永続性プロパティの値を説明しています。
表5-7 cache.coordination.jndi.initial-context-factoryの有効値
値 | 説明 |
---|---|
name |
JNDI |
使用方法
通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。
例5-5 persistence.xmlでのcache.coordination.jndi.initial-context-factoryの使用
<property name="eclipselink.cache.coordination.jndi.initial-context-factory" value="weblogic.jndi.WLInitialContextFactory/>
例5-6 プロパティ・マップでのcache.coordination.jndi.initial-context-factoryの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put (PersistenceUnitProperties.CACEH_COORDINATION_JNDI_INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jndi.password
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.jndi.password
プロパティを使用して、cache.coordination.jndi.user
のパスワードを設定します。
値
表5-8は、この永続性プロパティの値を説明しています。
表5-8 cache.coordination.jndi.passwordの有効値
値 | 説明 |
---|---|
value |
cache.coordination.jndi.userのパスワード。 |
使用方法
通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。
例5-7 persistence.xmlでのcache.coordination.jndi.passwordの使用
<property name="eclipselink.cache.coordination.jndi.user" value="USERNAME"/> <property name="eclipselink.cache.coordination.jndi.password" value="PASSWORD"/>
例5-8 プロパティ・マップでのcache.coordination.jndi.passwordの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_JNDI_USER, "USERNAME"); propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_JNDI_PASSWORD, "PASSWORD");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.jndi.user
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.jndi.user
プロパティを使用して、JNDIネーミング・サービス・ユーザーを設定します。
使用方法
通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。
例
このプロパティの使用方法の詳細は、例5-13を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.naming-service
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.naming-service
プロパティを使用して、使用するネーミング・サービスを指定します。
値
表5-10は、この永続性プロパティの値を説明しています。
表5-10 cache.coordination.naming-serviceの有効値
値 | 説明 |
---|---|
|
JNDIを使用します。 |
|
RMIを構成します。 |
使用方法
キャッシュ・コーディネーションを有効にする必要があります。
例5-9 persistence.xmlでのcache.coordination.naming-serviceの使用
<property name="eclipselink.cache.coordination" value="true"/> <property name="eclipselink.cache.coordination.naming-service" value="jndi"/>
例5-10 プロパティ・マップでのcache.coordination.naming-serviceの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_NAMING_SERVICE, "jndi");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.propagate-asynchronously
eclipselink.cache.coordination.propagate-asynchronously
プロパティを使用して、コーディネーションのブロードキャストが、コミットするスレッドと非同期で発生するかどうかを指定します。
このプロパティでは、クラスタ環境のキャッシュ・コーディネーションを構成します。コーディネーションのブロードキャストが、コミットするスレッドと非同期で発生するかどうかを設定します。つまり、スレッドがトランザクションのコミットから戻る前に、コーディネーションが完了します。
値
表5-11は、この永続性プロパティの値を説明しています。
表5-11 cache.coordination.propagate-asynchronouslyの有効値
値 | 説明 |
---|---|
|
(デフォルト) TopLinkでは、ブロードキャストが非同期で行われます。コーディネーションは、スレッドがトランザクションのコミットから戻る前に完了します。 |
|
TopLinkでは、ブロードキャストが同期で行われます。 |
使用方法
この設定に関係なく、JMSキャッシュ・コーディネーションは常に非同期です。
デフォルトでは、RMIキャッシュ・コーディネーションは非同期です。要求が返される前にすべてのサーバーが更新されるようにするには、同期(eclipselink.cache.coordination.propagate-asynchronously
= false
)を使用します。
例5-11 persistence.xmlでのcache.coordination.propagate-asynchronouslyの使用
<property name="eclipselink.cache.coordination.propagate-asynchronously" value="false" />
例5-12 プロパティ・マップでのcache.coordination.propagate-asynchronouslyの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put (PersistenceUnitProperties.CACHE_COORDINATION_PROPAGATE_ASYNCHRONOUSLY, "false");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.protocol
eclipselink.cache.coordination.protocol
プロパティを使用して、使用するキャッシュ・コーディネーション・プロトコルを指定します。各ディスクリプタのキャッシュ構成に応じて、クラスタに対するキャッシュの更新または挿入がブロードキャストされ、各セッションのキャッシュが更新または無効化されます。
値
表5-12は、この永続性プロパティの値を説明しています。
表5-12 cache.coordination.protocolの有効値
値 | 説明 |
---|---|
|
Java Message Service (JMS)を使用して、変更をブロードキャストします。 |
|
使用予定のEJB MessageDrivenBeanを使用して、変更をブロードキャストします。MessageDrivenBeanを個別に構成する必要があります。 |
|
Java Remote Method Invocation (RMI)を使用して、変更をブロードキャストします。 |
|
RMI over Internet Inter-ORB Protocol (IIOP)を使用して、変更をブロードキャストします。 |
クラス名 |
|
使用方法
クラスタ内のすべての永続性ユニットおよびセッションについて、cache.coordination.protocol
を指定する必要があります。
例
例5-13に、persistence.xml
ファイルでJMSキャッシュ・コーディネーションを構成する方法を示します。
例5-14に、persistence.xml
ファイルでRMIキャッシュ・コーディネーションを構成する方法を示します。
例5-13 persistence.xmlでのJMSキャッシュ・コーディネーションの構成
<property name="eclipselink.cache.coordination.protocol" value="jms" /> <property name="eclipselink.cache.coordination.jms.topic" value="jms/EmployeeTopic" /> <property name="eclipselink.cache.coordination.jms.factory" value="jms/EmployeeTopicConnectionFactory" />
アプリケーションをクラスタで実行中ではない場合、次のようにURLを指定する必要があります。
<property name="eclipselink.cache.coordination.jms.host" value="t3://myserver:7001/" />
また、必要に応じて、サーバーにアクセスするために(別のドメインを使用している場合など)、ユーザー名とパスワードを含めることもできます。
<property name="eclipselink.cache.coordination.jndi.user" value="weblogic" /> <property name="eclipselink.cache.coordination.jndi.password" value="password" />
例5-14 persistence.xmlでのRMIキャッシュ・コーディネーションの構成
<property name="eclipselink.cache.coordination.protocol" value="rmi" />
アプリケーションをクラスタで実行中ではない場合、次のようにURLを指定する必要があります。
<property name="eclipselink.cache.coordination.rmi.url" value="t3://myserver:7001/" />
また、必要に応じて、サーバーにアクセスするために(別のドメインを使用している場合など)、ユーザー名とパスワードを含めることもできます。
<property name="eclipselink.cache.coordination.jndi.user" value="weblogic" /> <property name="eclipselink.cache.coordination.jndi.password" value="password" />
デフォルトでは、RMIキャッシュ・コーディネーション・ブロードキャストは非同期です。このことは、必要に応じてオーバーライドできます。
<property name="eclipselink.cache.coordination.propagate-asynchronously" value="false" />
同じサーバーまたはネットワーク上に複数のアプリケーションがある場合、アプリケーションごとに個別のキャッシュ・コーディネーション・チャネルを指定できます。
<property name="eclipselink.cache.coordination.channel" value="EmployeeChannel" />
RMIキャッシュ・コーディネーションでは、サーバーが相互に検索できるようにマルチキャスト・ソケットを使用します。必要に応じて、次のようにマルチキャスト設定を構成できます。
<property name="eclipselink.cache.coordination.rmi.announcement-delay" value="1000" /> <property name="eclipselink.cache.coordination.rmi.multicast-group" value="239.192.0.0" /> <property name="eclipselink.cache.coordination.rmi.multicast-group.port" value="3121" /> <property name="eclipselink.cache.coordination.packet-time-to-live" value="2" />
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
-
キャッシュ・コーディネーションの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination
) -
「Clustering and Cache Coordination」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination
)
cache.coordination.remove-connection-on-error
eclipselink.cache.coordination.remove-connection-on-error
プロパティを使用して、キャッシュ・コーディネーション中にTopLinkで通信エラーが発生した場合、接続を削除するかどうかを指定します。
値
表5-13は、この永続性プロパティの値を説明しています。
表5-13 cache.coordination.remove-connection-on-errorの有効値
値 | 説明 |
---|---|
|
通信エラーが発生した場合、接続が削除されます。サーバーが使用可能になると、TopLinkは再接続されます。 |
|
(デフォルト)通信エラーが発生しても接続は削除されません。 |
使用方法
通常、サーバーが停止した場合に、RMI接続に使用されます。
例5-15 peristence.xmlでのcache.coordination.remove-connection-on-errorの使用
<property name="eclipselink.cache.coordination.remove-connection-on-error" value="true"/>
例5-16 プロパティ・マップでのcache.coordination.remove-connection-on_errorの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put (PersistenceUnitProperties.CACHE_COORDINATION_REMOVE_CONNECTION_ON_ERROR,"true");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.rmi.announcement-delay
eclipselink.cache.coordination.rmi.announcement-delay
プロパティを使用して、起動時に他のクラスタ・メンバーからの通知を待機する時間(ミリ秒単位)を設定します。
値
表5-14は、この永続性プロパティの値を説明しています。
表5-14 cache.coordination.rmi.announcement-delayの有効値
値 | 説明 |
---|---|
数値 |
起動時に、通知を待機する時間(ミリ秒単位) デフォルト: 1000 |
使用方法
このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol
= rmi
の場合)。
例
このプロパティの使用方法の詳細は、例5-14を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.rmi.multicast-group
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.rmi.multicast-group
プロパティを使用して、(クラスタの他のメンバーを検索するのに使用する)マルチキャスト・ソケット・グループのアドレスを設定します。
値
表5-15は、この永続性プロパティの値を説明しています。
表5-15 cache.coordination.rmi.multicast-groupの有効値
値 | 説明 |
---|---|
数値 |
マルチキャスト・ソケット・グループのアドレスを設定します。 デフォルト: |
使用方法
このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol
= rmi
の場合)。
例
このプロパティの使用方法の詳細は、例5-14を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.rmi.multicast-group.port
クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.rmi.multicast-group
プロパティを使用して、(クラスタの他のメンバーを検索するのに使用する)マルチキャスト・ソケット・グループのポートを設定します。
値
表5-16は、この永続性プロパティの値を説明しています。
表5-16 cache.coordination.rmi.multicast-group.portの有効値
値 | 説明 |
---|---|
数値 |
マルチキャスト・ソケット・グループのポートを設定します。 デフォルト: |
使用方法
このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol
= rmi
の場合)。
例
このプロパティの使用方法の詳細は、例5-14を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.rmi.packet-time-to-live
eclipselink.cache.coordination.rmi.packet-time-to-live
プロパティを使用して、セッション通知データ・パケットが失効するまでのホップ数を設定します。マルチキャスト・グループは、クラスタの他のメンバーを検索するために使用されます。
値
表5-17は、この永続性プロパティの値を説明しています。
表5-17 cache.coordination.rmi.packet-time-to-liveの有効値
値 | 説明 |
---|---|
数値 |
セッション通知データ・パケットが失効するまでに通過するホップ数 デフォルト: |
使用方法
WANに含まれる別々のLANでセッションがホストされている場合は、あるセッションによって送信された通知が他のセッションに到達しないことがあります。この場合は、適切な存続時間の値についてネットワーク管理者に問い合せるか、他のセッションによって送信された通知が各セッションで受信されるまで値を増やすことによって、ネットワークをテストしてください。
このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol
= rmi
の場合)。
例
このプロパティの使用方法の詳細は、例5-14を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.rmi.url
eclipselink.cache.coordination.rmi.url
プロパティを使用して、ホスト・サーバーのURLを設定します。このURLは、他のクラスタ・メンバーがこのホストに接続するときに使用されます。
値
表5-18は、この永続性プロパティの値を説明しています。
表5-18 cache.coordination.rmi.urlの有効値
値 | 説明 |
---|---|
url |
ホスト・サーバーのURL デフォルト: |
使用方法
このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol
= rmi
の場合)。
これは、クラスタ環境でJNDIがレプリケートされる場合には不要である可能性があります。また、場所をシステム・プロパティとして設定するか、SessionCustomizer
を使用して設定すると、サーバーごとに個別のpersistence.xml
ファイルを使用する必要がなくなります。
例
このプロパティの使用方法の詳細は、例5-14を参照してください。
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.coordination.thread.pool.size
eclipselink.cache.coordination.thread.pool.size
プロパティを使用して、キャッシュ・コーディネーション・スレッドのための、スレッド・プールのサイズを構成します。
値
表5-19は、この永続性プロパティの値を説明しています。
表5-19 cache.coordination.thread.pool.sizeの有効値
値 | 説明 |
---|---|
数値 |
スレッド・プールのサイズ。 デフォルト: |
使用方法
RMIキャッシュ・コーディネーションの場合、TopLinkでは、変更通知を送信するためにノードごとに1つのスレッドを生成し、新規ノード通知をリスニングするために1つのスレッドを生成します。
JMSキャッシュ・コーディネーションの場合、TopLinkでは、JMS変更通知メッセージを受信するために1つのスレッドを生成し(MDBが使用されていない場合)、変更通知を処理するために1つのスレッドを生成します(MDBが使用されていない場合)。
例5-17 persistence.xmlでのcache.coordination.thread.pool.sizeの使用
<property name="eclipselink.cache.coordination.thread.pool.size" value="48"/>
例5-18 プロパティ・マップでのcache.coordination.thread.pool.sizeの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_THREAD_POOL_SIZE, "48");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
cache.database-event-listener
eclipselink.cache.database-event-listener
プロパティを使用して、TopLinkとOracle QCN/DCN (問合せ変更通知/データベース変更通知)などのデータベース・イベント通知サービスを統合します。
値
表5-20は、この永続性プロパティの値を説明しています。
表5-20 cache.database-event-listenerの有効値
値 | 説明 |
---|---|
クラス |
Oracle用にDCNおよびQCNを使用することもできます。 |
使用方法
このプロパティを使用すると、データベース変更イベント、トリガー、またはその他のサービスによるTopLinkキャッシュの無効化を許可できます。
例
例5-19に、Oracle DCNでこのプロパティを使用する方法を示します。
例5-19 persistence.xmlでのcache.database-event-listenerの使用
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
persistence_2_0.xsd"
version="2.0">
<persistence-unit name="acme" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.cache.database-event-listener" value=
"org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationList
ener"/>
</properties>
</persistence-unit>
</persistence>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
-
『Oracle WebLogic Server JDBCデータ・ソースの管理』のデータベース変更通知に関する項を参照してください
-
「Clustering and Cache Coordination」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination
) -
キャッシュ・コーディネーションの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination
)
cache.shared
eclipselink.cache.shared
プロパティ接頭辞を使用して、エンティティのキャッシュを共有する(非独立キャッシュにする)かどうかを指定します。
値
表5-21は、この永続性プロパティ接頭辞の値を説明しています。
表5-21 cache.sharedの有効値
値 | 説明 |
---|---|
|
(デフォルト)エンティティのキャッシュが共有されます。値の大/小文字は区別されません。 |
|
エンティティのキャッシュは共有されません。値の大/小文字は区別されません。 |
使用方法
有効なエンティティ名またはクラス名をclass.shared
に追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.shared
プロパティ接頭辞にdefault
接尾辞を追加してプロパティ名を形成し、そのプロパティ名がデフォルトですべてのエンティティに設定されるようにすることもできます。
例
このプロパティの使用方法の詳細は、例2-12を参照してください。
cache.size
eclipselink.cache.size
プロパティ接頭辞を使用して、特定のエンティティ・タイプのキャッシュ・サイズを指定します。
使用方法
有効なエンティティ名またはクラス名をcache.size
に追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.size
プロパティ接頭辞にdefault
接尾辞を追加して、そのプロパティ値がすべてのエンティティに適用されることを示すこともできます。
ほとんどのキャッシュ・タイプの場合、サイズは固定サイズや最大サイズではなく、初期サイズにすぎません。CacheType.SoftCache
タイプおよびCacheType.HardCache
のサイズは、サブキャッシュ・サイズです。デフォルトのキャッシュ・サイズは100バイトです。
例
このプロパティの使用方法の詳細は、例2-12を参照してください。
cache.type
eclipselink.cache.type
プロパティ接頭辞を使用して、キャッシュのタイプを設定します。
値
表5-23は、この永続性プロパティ接頭辞の値を説明しています。
表5-23 cache.typeの有効値
値 | 説明 |
---|---|
|
アプリケーションで使用中のすべてのオブジェクトが保持されます。参照されていないオブジェクトは解放され、ガベージ・コレクションの対象になります。このキャッシュ・タイプでは、オブジェクト識別性が保証され、ガベージ・コレクションが最適化されますが、キャッシュの利点はほとんど得られません。 |
|
アプリケーションで読み取られたすべてのオブジェクトが保持されます。参照されていないオブジェクトは、メモリー残量が低下しているとJVMが判断した場合にのみ、ガベージ・コレクションの対象として解放されます。このキャッシュ・タイプでは、オブジェクト識別性が保証され、メモリー残量の低下時にガベージ・コレクションが行われます。キャッシュの利点を最適に利用できます。 |
|
(デフォルト)アプリケーションで読み取られたすべてのオブジェクトおよび |
|
アプリケーションで使用中のすべてのオブジェクトおよび通常の |
|
アプリケーションで読み取られたすべてのオブジェクトが保持されます。このキャッシュ・タイプでは、ガベージ・コレクションは行われません。このタイプでは、オブジェクト識別性が保証され、ガベージ・コレクションは行われません。キャッシュの利点を完全に利用できます。 警告: このキャッシュ・タイプは、一定数のオブジェクトにのみ使用してください。そうでない場合、最終的にメモリー・リークが発生します。 |
|
いずれのオブジェクトもキャッシュされません。参照されていないオブジェクトはガベージ・コレクションの対象として解放されます。このタイプでは、オブジェクト識別性は提供されず、ガベージ・コレクションが完全に行われます。キャッシュの利点は得られません。 警告: このキャッシュ・タイプは、通常は使用しないでください。かわりに、 |
使用方法
有効なエンティティ名またはクラス名をclass.type
に追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.type
接頭辞にdefault
接尾辞を追加してプロパティ名を形成し、そのプロパティ名がデフォルトですべてのエンティティに設定されるようにすることもできます。
cache.type
プロパティの有効値は、CacheType
クラスで宣言されます。デフォルトはSoftWeak
です。
キャッシュ・エンティティが不要の場合は、cache.shared
プロパティを設定します。
例
このプロパティの使用方法の詳細は、例2-12を参照してください。
classloader
eclipselink.classloader
プロパティを使用して、Persistence.createEntityManagerFactory
に渡すプロパティ・マップに、EntityMangerFactory
を作成します。
使用方法
これは、実行時にプロパティ・マップに設定する必要がある動的プロパティです。このプロパティをpersistence.xml
ファイルで構成することはできません。
例
例5-20に、プロパティ・マップでこのプロパティを使用する方法を示します。
例5-20 プロパティ・マップでのclassloaderの使用
properties.put("eclipselink.classloader", this.getClass().getClassLoader());
composite-unit
eclipselink.composite-unit
プロパティを使用して、永続性ユニットがコンポジット永続性ユニットかどうかを指定します。
値
表5-25は、この永続性プロパティの値を説明しています。
表5-25 composite-unitの有効値
値 | 説明 |
---|---|
|
永続性ユニットはコンポジット永続性ユニットです。 |
|
(デフォルト) 永続性ユニットはコンポジット永続性ユニットではありません。 |
使用方法
このプロパティは、コンポジット永続性ユニットのpersistence.xml
で指定する必要があります。コンポジット永続性ユニットには、persistence.xml
ファイルによって指定されたJARファイルで見つかるすべての永続性ユニットが含まれている必要があります。
注意:
このプロパティは、createEntityManagerFactory
メソッドに渡されるか、またはシステム・プロパティで設定されている場合、無視されます。
例
例5-21に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-21 persistence.xmlでのcomposite-unitの使用
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0">
<persistence-unit name="compositePu" transaction-type="JTA">
<provider>
org.eclipse.persistence.jpa.PersistenceProvider
</provider>
<jar-file>member1.jar</jar-file>
<jar-file>member2.jar</jar-file>
<properties>
<property name="eclipselink.composite-unit" value="true"/>
<property name="eclipselink.target-server" value="WebLogic_10"/>
</properties>
</persistence-unit>
</persistence>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』の「コンポジット永続性ユニットによる複数データベースの使用」
-
「Composite Persistence Units」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Composite_Persistence_Units
)
composite-unit.member
eclipselink.composite-unit.member
プロパティを使用して、永続性ユニットがコンポジット永続性ユニットのメンバーであるかどうかを指定します。
値
表5-26は、この永続性プロパティの値を説明しています。
表5-26 composite-unit.memberの有効値
値 | 説明 |
---|---|
|
永続性ユニットはコンポジット永続性ユニットのメンバーである必要があり、単独の永続性ユニットとしては使用できません。 |
|
(デフォルト)永続性ユニットは、コンポジット永続性ユニットのメンバーである必要はありません。 |
使用方法
このプロパティをtrue
に設定すると、永続性ユニットに、他の永続性ユニットに対する依存性があることを示します。
注意:
このプロパティは、createEntityManagerFactory
メソッドに渡されるか、またはシステム・プロパティで設定されている場合、無視されます。
このプロパティがtrue
に設定されている場合、EntityManagerFactory
を引き続き作成できますが、接続することはできません。エンティティ・マネージャを作成しようとすると、例外が発生します。
問合せヒント
コンポジット永続性ユニットについてネイティブ問合せを実行する場合、composite-unit.member
を使用して、問合せの実行対象であるコンポジット・メンバー永続性ユニットの名前を指定します。
例
例5-22に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-22 persistence.xmlでのcomposite-unit.memberの使用
コンポジット・メンバー永続性ユニットmemberPu2が、member2.jarファイルで定義されています。これは、member1.jarで定義されたクラスに対する依存性があり、単独では使用できません。
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd"
version="1.0">
<persistence-unit name="memberPu2">
<provider>
org.eclipse.persistence.jpa.PersistenceProvider
</provider>
<mapping-file>META-INF/advanced-entity-mappings2.xml</mapping-file>
<jta-data-source>jdbc/MySqlJtaDS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.composite-unit.member" value="true"/>
<property name="eclipselink.target-database"
value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
</properties>
</persistence-unit>
</persistence>
composite-unit.properties
eclipselink.composite-unit.properties
プロパティを使用して、永続性ユニットのメンバーについてプロパティを構成します。
値
表5-27は、この永続性プロパティの値を説明しています。
表5-27 composite-unit.propertiesの有効値
値 | 説明 |
---|---|
プロパティのマップ |
永続性ユニットに渡すプロパティ。キーとして永続性ユニットの名前を使用します。 |
使用方法
このプロパティをコンポジット永続性ユニットのcreateEntityManager
メソッドに渡し、そのメンバーの永続性ユニットに各種プロパティを渡します。
例
例5-23に、プロパティ・マップでこのプロパティを使用する方法を示します
例5-23 プロパティ・マップでのcomposite-unit.propertiesの使用
Map props1 = new HashMap();
props1.put("javax.persistence.jdbc.user", "user1");
props1.put("javax.persistence.jdbc.password", "password1");
props1.put("javax.persistence.jdbc.driver", "oracle.jdbc.OracleDriver");
props1.put("javax.persistence.jdbc.url", "jdbc:oracle:thin:@oracle_db_url:1521:db");
Map props2 = new HashMap();
props2.put("javax.persistence.jdbc.user", "user2");
props2.put("javax.persistence.jdbc.password", "password2");
props2.put("javax.persistence.jdbc.driver", "com.mysql.jdbc.Driver");
props2.put("javax.persistence.jdbc.url", " jdbc:mysql://my_sql_db_url:3306/user2");
Map memberProps = new HashMap();
memberProps.put("memberPu1", props1);
memberProps.put("memberPu2", props2);
Map props = new HashMap();
props.put("eclipselink.logging.level", "FINEST");
props.put("eclipselink.composite-unit.properties", memberProps);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("compositePu", props);
connection-pool
eclipselink.connection-pool
プロパティを使用して、接続プールの各種プロパティを構成します。
値
表5-28は、この永続性プロパティの値を説明しています。
表5-28 connection-poolの有効値
値 | 説明 |
---|---|
|
開始時(初期)の接続数。 |
|
最小接続数。 |
|
最大接続数。 |
|
プールからの接続を待機する時間(ミリ秒単位)。 |
|
接続用のJDBCのURL。 |
|
読取り接続プールについて、読取り接続がスレッド間で共有されることを示します。 |
|
接続に使用するJTAデータ・ソース名(デフォルトと異なる場合)。 |
|
接続に使用する非JTAデータ・ソース名(デフォルトと異なる場合)。 |
|
この接続に使用するユーザー名(デフォルトと異なる場合)。 |
|
この接続用の |
使用方法
接続プール名および構成するプロパティを追加します。接続プールが指定されている場合、TopLinkではデフォルトの(書込み)プールが構成されます。
例
例5-24に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-24 persistence.xmlでのconnection-poolの使用
<property name="eclipselink.connection-pool.default.initial" value="1" /> <property name="eclipselink.connection-pool.node2.min" value="16"/> <property name="eclipselink.connection-pool.node2.max" value="16"/> <property name="eclipselink.connection-pool.node2.url" value="jdbc:oracle:thin:@node2:1521:orcl"/>
関連項目
詳細は、次を参照してください。
-
パーティション化の例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Partitioning
) -
『Oracle TopLinkの理解』の接続プールに関する項
-
『Oracle TopLinkソリューション・ガイド』の接続プーリングに関する項
connection-pool.read
eclipselink.connection-pool.read
プロパティを使用して、非トランザクション読取り問合せ用の読取り接続プールを構成します。
値
表5-29は、この永続性プロパティの値を説明しています。
表5-29 connection-pool.readの有効値
値 | 説明 |
---|---|
|
開始時(初期)の接続数。 |
|
最小接続数。 |
|
最大接続数。 |
|
プールからの接続を待機する時間。 |
|
JDBC接続のURL。 |
|
読取り接続プールについて、読取り接続がスレッド間で共有されることを示します。 |
|
接続に使用するJTAデータ・ソース名(デフォルトと異なる場合)。 |
|
接続に使用する非JTAデータ・ソース名(デフォルトと異なる場合)。 |
|
この接続に使用するユーザー名(デフォルトと異なる場合)。 |
|
この接続用の |
使用方法
デフォルトで、TopLinkでは、読取り問合せにデフォルト・プールが使用され、独立した読取り接続プールは使用されません。
例
例5-25に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-25 persistence.xmlでのconnection-pool.readの使用
<property name="eclipselink.connection-pool.read.min" value="16"/> <property name="eclipselink.connection-pool.read.max" value="16"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の接続プールに関する項
-
『Oracle TopLinkソリューション・ガイド』の接続プーリングに関する項
connection-pool.sequence
eclipselink.connection-pool.sequence
プロパティを使用して、生成されたIDを接続プールによって割り当てます。
値
表5-30は、この永続性プロパティの値を説明しています。
表5-30 connection-pool.sequenceの有効値
値 | 説明 |
---|---|
true |
データ・ソースからの接続をプールする際に内部接続プールを使用します。 |
false |
(デフォルト)データ・ソースからの接続をプールする際に内部接続プールを使用しません。 |
使用方法
これは、TABLE
の順序付けにのみ必要となります。デフォルトで、TopLinkでは、順序付けにはデフォルト・プールが使用され、独立したシーケンス接続プールは使用されません。
例
例5-26に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-26 persistence.xmlでのconnection-pool.sequenceの使用
<property name="eclipselink.connection-pool.sequence" value="true"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の接続プールに関する項
-
『Oracle TopLinkソリューション・ガイド』の接続プーリングに関する項
create-ddl-jdbc-file-name
eclipselink.create-ddl-jdbc-file-name
プロパティを使用して、TopLinkによって生成された、JPAエンティティの表を作成するSQL文を含むDDLファイルの名前を指定します。
値
表5-31は、この永続性プロパティの値を説明しています。
表5-31 create-ddl-jdbc-file-nameの有効値
値 | 説明 |
---|---|
ファイル名 |
オペレーティング・システムに有効なファイル名。
|
使用方法
eclipselink.ddl-generation
がcreate-tables
またはdrop-and-create-tables
に設定されている場合、TopLinkでは、eclipselink.application-location
によって指定された場所に、このファイルが書き込まれます。
例
このプロパティの使用方法の詳細は、例5-27を参照してください。
ddl-generation
eclipselink.ddl-generation
プロパティを使用して、TopLinkでデプロイメント時にデータベース・スキーマ(表および制約)用にデータ定義言語(DDL)を生成する方法を指定します
値
表5-32は、この永続性プロパティの値を説明しています。
表5-32 ddl-generationの有効値
値 | 説明 |
---|---|
|
TopLinkでは、表ごとに この表がすでに存在する場合、TopLinkは、特定のデータベースとJDBCドライバの組合せに応じたデフォルトの動作に従います( |
|
TopLinkによって、表の作成が試行されます。表が存在する場合は、TopLinkによって、欠落しているすべての列が追加されます。 |
|
TopLinkによって、すべての表の このことは、開発においてスキーマが頻繁に変更される場合、または、テストにおいて既存データを消去する必要がある場合に役立ちます。 注意: |
|
(デフォルト) DDLは生成されず、スキーマも生成されません。 |
使用方法
eclipselink.ddl-generation.output-mode
= database
である場合にのみ、create-or-extend-tables
を使用できます。
Java SE環境で永続性を使用しており、表を作成することなくDDLファイルを作成する場合、追加的にJavaシステム・プロパティINTERACT_WITH_DB
を定義して、その値をfalse
に設定します。
このプロパティを有効にするには、DDL_GENERATION
を設定する必要があります。
例5-27 persistence.xmlでのddl-generationの使用
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/> <property name="eclipselink.create-ddl-jdbc-file-name" value="createDDL_ddlGeneration.jdbc"/> <property name="eclipselink.drop-ddl-jdbc-file-name" value="dropDDL_ddlGeneration.jdbc"/> <property name="eclipselink.ddl-generation.output-mode" value="both"/>
例5-28 プロパティ・マップでのddl-generationの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.DDL_GENERATION, PersistenceUnitProperties.DROP_AND_CREATE); propertiesMap.put(PersistenceUnitProperties.DDL_GENERATION_MODE, PersistenceUnitProperties.BOTH); propertiesMap.put(PersistenceUnitProperties.CREATE_JDBC_DDL_FILE, "create.sql");
ddl-generation.output-mode
eclipselink.ddl-generation.output-mode
プロパティを使用して、DDLがTopLinkによってどこに生成および書き込まれるかを指定します。
値
表5-33は、この永続性プロパティの値を説明しています。
表5-33 ddl-generation.output-modeの有効値
値 | 説明 |
---|---|
|
DDLは、データベースとファイルの両方に生成および書き込まれます。
|
|
(デフォルト) DDLは、データベースにのみ生成および書き込まれます。 |
|
DDLは、ファイルにのみ生成および書き込まれます。
|
使用方法
ddl-generation.output-mode
は、ddl-generation
を使用する場合にのみ使用できます。これにより、他のプロパティを最適に設定できます。
例
このプロパティの使用方法の詳細は、例5-27を参照してください。
ddl.table-creation-suffix
eclipselink.ddl.table-creation-suffix
プロパティを使用して、生成されたCREATE Table
文の最後に文字列を追加します。
使用方法
ddl.generation
プロパティを設定する必要があります。
例
例5-29に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-29 persistence.xmlでのddl.table-creation-suffixの使用
<property name="eclipselink.ddl.table-creation-suffix" value="engine=InnoDB"/>
deploy-on-startup
eclipselink.deploy-on-startup
プロパティを使用して、EntityManager
が最初に作成されたときではなく、起動時(EntityManagerFactory
の作成時)にデプロイメントを構成します。
値
表5-35は、この永続性プロパティの値を説明しています。
表5-35 delay-on-startupの有効値
値 | 説明 |
---|---|
|
EntityManagerの作成時(通常はJava EEコンテナまたはサーブレット・コンテナへのデプロイ時)に、永続性ユニットが作成されます。 |
|
(デフォルト)最初のEntityManagerが作成されるまで、またはEntityManagerFactoryでメタデータが必要になるまで、永続性ユニットは初期化されません。 |
使用方法
true
を使用すると、JavaEEサーバーの起動時間が増加しますが、永続性ユニットがデプロイされているため、最初の要求がハングしなくなります。
例
例5-30に、peristence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-30 persistence.xmlでのdeploy-on-startupの使用
<property name="eclipselink.deploy-on-startup" value="true" />
descriptor.customizer
eclipselink.descriptor.customizer
プロパティをプロパティの接頭辞として使用して、DescriptorCustomizer
を構成します。org.eclipse.persistence.descriptors.ClassDescriptor
を値として使用するこのクラスのカスタマイズ・メソッドを使用して、拡張されたEclipseLinkディスクリプタにプログラムによってアクセスし、JPAエンティティに関連付けられるディスクリプタにAPIをマッピングします。
値
表5-36は、この永続性プロパティの値を説明しています。
表5-36 descriptor.customizerの有効値
値 | 説明 |
---|---|
name |
|
使用方法
複数のディスクリプタ・カスタマイザを使用することはできません。
例5-31 persistence.xmlでのdescriptor.customizerの使用
<property name="eclipselink.descriptor.customizer.Order" value="acme.sessions.MyDesriptorCustomizer"/>
例5-32 プロパティ・マップでのdescriptor.customizerの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.DESCRIPTOR_CUSTOMIZER+".Order", "acme.sessions.MyDescriptorCustomizer");
drop-ddl-jdbc-file-name
eclipselink.drop-ddl-jdbc-file-name
プロパティを使用して、TopLinkによって生成された、JPAエンティティの表を削除するSQL文を含むDDLファイルの名前を指定します。
値
表5-37は、この永続性プロパティの値を説明しています。
表5-37 drop-ddl-jdbc-file-nameの有効値
値 | 説明 |
---|---|
ファイル名 |
オペレーティング・システムに有効なファイル名。
|
使用方法
eclipselink.ddl-generation
がcreate-tables
に設定されている場合、TopLinkでは、eclipselink.application-location
によって指定された場所にこのファイルが書き込まれます。
例
このプロパティの使用方法の詳細は、例5-27を参照してください。
exception-handler
eclipselink.exception-handler
プロパティを使用して、TopLink例外ハンドラ・クラス、すなわちorg.eclipse.persistence.exceptions.ExceptionHandler
インタフェースを実装する例外ハンドラ・クラスを指定します。このクラスは、デフォルトの引数を使用しないコンストラクタを提供する必要があります。
値
表5-38は、この永続性プロパティの値を説明しています。
表5-38 exception-handlerの有効値
値 | 説明 |
---|---|
|
|
使用方法
ExceptionHandler
クラス名は、そのパッケージ名で完全修飾されている必要があります。
例5-33 persistence.xmlでのexception-handlerの使用
<property name="eclipselink.exception-handler" value="my.package.MyExceptionHandler">
例5-34 プロパティ・マップでのexception-handlerの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.EXCEPTION_HANDLER_CLASS, "my.package.MyExceptionHandler");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のセッションに関する項
-
『Oracle TopLinkソリューション・ガイド』の問題の管理および診断に関する項
exclude-eclipselink-orm
eclipselink.exclude-eclipselink-orm
プロパティを使用して、特定の永続性ユニットについてEclipseLink ORMマッピング・ファイルを除外します。
値
表5-39は、この永続性プロパティの値を説明しています。
表5-39 exclude-eclipselink-ormの有効値
値 | 説明 |
---|---|
|
|
|
(デフォルト) TopLinkでは、 |
使用方法
デフォルトでは、リソース名META-INF/eclipselink-orm.xml
で最初に見つかったファイルが処理され、注釈および標準マッピング・ファイルに指定された構成がオーバーライドされます。
例
例5-35に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-35 persistence.xmlでのexclude-eclipselink-ormの使用
<property name="eclipselink.exclude-eclipselink-orm" value="true"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のTopLinkプロジェクトのビルディング・ブロックに関する項
-
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
flush-clear.cache
eclipselink.flush-clear.cache
プロパティを使用して、flush
メソッドに続いてclear
メソッドが実行された場合のTopLink EntityManager
キャッシュの動作を指定します。
値
表5-40は、この永続性プロパティの値を説明しています。
表5-40 flush-clear.cacheの有効値
値 | 説明 |
---|---|
|
TopLinkによって、 これは最速のモードであり、メモリーの使用は最小となりますが、コミットを実行した後、共有キャッシュに含まれるデータが失効する可能性があります。 |
|
(デフォルト) TopLinkによって、 このモードは |
|
TopLinkによって、 このモードでは、コミットを実行した後、共有キャッシュが完全な状態に維持されますが、メモリー効率は最も低下します。非常に大規模なトランザクションでは、メモリーが不足する場合があります。 |
使用方法
このプロパティは、EntityManagerFactory
を作成するときに(createEntityManagerFactory
メソッドに渡すマップやpersistence.xml
ファイルに)指定するか、またはEntityManager
を作成するときに(createEntityManager
メソッドに渡すマップに)指定できます。
前者は後者によってオーバーライドされることに注意してください。
例5-36 persistence.xmlでのflush-clear.cacheの使用
<property name="eclipselink.flush-clear.cache" value="Drop"/>
例5-37 プロパティ・マップでのflush-clear.cacheの使用
import org.ecliplse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.FLUSH_CLEAR_CACHE, FlushClearCache.Drop);
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』のキャッシュ・コーディネーションに関する項
-
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
-
キャッシュ・コーディネーションの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination
) -
「Clustering and Cache Coordination」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Coordination
)
id-validation
eclipselink.id-validation
プロパティを使用して、値を無効とみなす主キーのコンポーネントを定義します。
値
表5-41は、この永続性プロパティの値を説明しています。
表5-41 id-validationの有効値
値 | 説明 |
---|---|
|
|
|
TopLinkによるID検証は実行されません。 |
|
|
|
プリミティブ型の |
使用方法
アイデンティティおよび順序付け(shouldAlwaysOverrideExistingValue
をtrue
として構成)は、既存のすべてのID値をオーバーライドします。
例
例5-38に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-38 persistence.xmlでのid-validationの使用
<property name="eclipselink.id-validation" value="NULL"/>
jdbc.allow-native-sql-queries
eclipselink.jdbc.allow-native-sql-queries
プロパティを使用して、ユーザー定義(つまりネイティブ)のSQLを永続性ユニット内で許可するかどうかを指定します。
値
表5-42は、この永続性プロパティの値を説明しています。
表5-42 jdbc.allow-native-sql-queriesの有効値
値 | 説明 |
---|---|
|
(デフォルト) TopLinkでネイティブSQLを使用できます。 |
|
TopLinkでネイティブSQLを使用できません。 |
使用方法
マルチテナント内で、マルチテナント情報の公開による潜在的な影響を最小限に抑えるには、このオプションを使用します。デフォルトでは、永続性ユニットにマルチテナント・エンティティが含まれる場合、TopLinkではeclipselink.jdbc.allow-native-sql-queries
がfalse
として設定されます。
例
例5-39に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-39 persistence.xmlでのjdbc.allow-native-sql-queriesの使用
<property name="eclipselink.jdbc.allow-native-sql-queries" value="false" />
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の問合せに関する項
jdbc.batch-writing
eclipselink.jdbc.batch-writing
プロパティを使用してバッチ書込みを構成し、複数の書込み機能によってトランザクションが最適化されるようにします。
値
表5-43は、この永続性プロパティの値を説明しています。
表5-43 jdbc.batch-writingの有効値
値 | 説明 |
---|---|
|
JDBCバッチ書込みを使用します。 |
|
JDBCバッチ書込みおよびプラットフォームのネイティブ・バッチ書込みを使用しません。 |
|
Oracleプラットフォームのネイティブ・バッチ書込みを使用します。プロパティ・マップでは、 注意: このことには、Oracle JDBCドライバが必要となります。 |
|
|
|
(デフォルト)バッチ書込みを使用しません(つまり、オフにします)。 |
使用方法
バッチ書込みを使用すると、複数の異機種間の動的SQL文を、1つの実行としてデータベースに送信することや、複数の異機種間のパラメータ化されたSQL文を、1つのバッチ実行として実行できます。
注意:
すべてのJDBCドライバやデータベースがバッチ書込みをサポートしているとはかぎりません。
eclipselink.jdbc.batch-writing.size
を使用して、バッチ・サイズを指定します。
例5-40 persistence.xmlでのjdbc.batch-writingの使用
<property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC"/>
例5-41 プロパティ・マップでのjdbc.batch-writingの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.BATCH_WRITING, BatchWriting.OracleJDBC);
jdbc.batch-writing.size
eclipselink.jdbc.batch-writing.size
プロパティを使用して、バッチ書込みに使用するバッチ・サイズを構成します。
値
表5-44は、この永続性プロパティの値を説明しています。
表5-44 jdbc.batch-writing.sizeの有効値
値 | 説明 |
---|---|
バッチ・サイズ |
パラメータ化されたバッチ書込みの場合、この値にはバッチにする文の数を指定します(デフォルト: 動的バッチ書込みの場合、この値にはバッチにするSQLバッファのサイズを指定します(デフォルト: |
例
例5-42に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-42 persistence.xmlでのjdbc.batch-writing.sizeの使用
<property name="eclipselink.jdbc.batch-writing.size" value="1000"/>
jdbc.cache-statements
eclipselink.jdbc.cache-statements
プロパティを使用して、JDBC文がキャッシュされるかどうかを指定します。
値
表5-45は、この永続性プロパティの値を説明しています。
表5-45 jdbc.cache-statementsの有効値
値 | 説明 |
---|---|
|
内部での文のキャッシングを有効にします。 |
|
(デフォルト)内部での文のキャッシングを無効にします。 |
使用方法
このプロパティは、TopLinkの内部接続プーリングを使用する場合に使用する必要があります。詳細は、「connection-pool」を参照してください。
例5-43 persistence.xmlでのjdbc.cache-statementsの使用
<property name="eclipselink.jdbc.cache-statements" value="false"/>
例5-44 プロパティ・マップでのjdbc.cache-statementsの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS, "false");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のバッチ書込みに関する項
jdbc.cache-statements.size
eclipselink.jdbc.cache-statements.size
プロパティを使用して、内部での文のキャッシングを使用する場合に保持する文の数を指定します。
値
表5-46は、この永続性プロパティの値を説明しています。
表5-46 jdbc.cache-statements.sizeの有効値
値 | 説明 |
---|---|
サイズ |
正の整数またはゼロを含む文字列値(デフォルト: 最大値は、使用するJDBCドライバに応じて変わる可能性があります。 |
例5-45 persistence.xmlでのjdbc.cache-statements.sizeの使用
<property name="eclipselink.jdbc.cache-statements.size" value="100"/>
例5-46 プロパティ・マップでのjdbc.cache-statements.sizeの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS_SIZE, "100");
jdbc.connector
eclipselink.jdbc.connector
プロパティを使用して、データベースに接続するカスタム・コネクタを定義します。
使用方法
このプロパティを使用すると、標準以外の接続プールに接続したり、接続の取得方法に関する詳細をカスタマイズできます。
このプロパティは、DataSource
またはJDBC DriverManager
を使用する場合には不要です。
例
例5-47に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-47 persistence.xmlでのjdbc.connectorの使用
<property name="eclipselink.jdbc.connector" value="package.MyConnector"/>
jdbc.exclusive-connection.is-lazy
eclipselink.jdbc.exclusive-connection.is-lazy
プロパティを使用して、TopLinkで書込み接続の遅延取得を行うかどうかを指定します。
値
表5-48は、この永続性プロパティの値を説明しています。
表5-48 jdbc.exclusive-connection.is-lazyの有効値
値 | 説明 |
---|---|
|
(デフォルト)書込み接続を遅延取得します。 |
|
書込み接続を遅延取得しません。 |
例5-48 persistence.xmlでのjdbc.exclusive-connection.is-lazyの使用
<property name="eclipselink.jdbc.exclusive-connection.is-lazy" value="false"/>
例5-49 プロパティ・マップでのjdbc.exclusive-connection.is-lazyの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.EXCLUSIVE_CONNECTION_IS_LAZY, "false");
jdbc.exclusive-connection.mode
eclipselink.jdbc.exclusive-connection.mode
プロパティを使用して、TopLinkでいつ書込み接続による読取りを実行するかを指定します。
値
表5-49は、この永続性プロパティの値を説明しています。
表5-49 jdbc.exclusive-connection.modeの有効値
値 | 説明 |
---|---|
|
(デフォルト)一部またはすべてのエンティティで独立キャッシュが必要な場合には独立クライアント・セッションを作成し、それ以外の場合にはクライアント・セッションを作成します。 注意:
|
|
独立エンティティを読み取る場合には排他独立クライアント・セッションを作成し、それ以外の場合にはエラーが発生します。 注意:
|
|
独立エンティティを読み取る場合には排他独立クライアント・セッションを作成し、それ以外の場合には排他クライアント・セッションを作成します。 注意: TopLinkでは、所有する |
使用方法
このプロパティは、EntityManagerFactory
を作成するときに(createEntityManagerFactory
メソッドに渡すマップまたはpersistence.xml
ファイルのいずれかに)設定するか、またはEntityManager
を作成するときに(createEntityManager
メソッドに渡すマップに)設定できます。前者は後者によってオーバーライドされることに注意してください。
例5-50 persitence.xmlでのjdbc.exclusive-connection.modeの使用
property name="eclipselink.jdbc.exclusive-connection.mode" value="Always"/>
例5-51 プロパティ・マップでのjdbc.exclusive-connection.modeの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.EXCLUSIVE_CONNECTION_MODE, "Always");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の独立クライアント・セッションに関する項
-
『Oracle TopLinkの理解』の接続に関する項
jdbc.native-sql
eclipselink.jdbc.native-sql
プロパティを使用して、TopLinkで汎用SQLを使用するか、プラットフォーム固有(つまりネイティブ)のSQL文を組み込むかを指定します。
値
表5-50は、この永続性プロパティの値を説明しています。
表5-50 jdbc.native-sqlの有効値
値 | 説明 |
---|---|
|
(デフォルト)プラットフォーム固有(ネイティブ)のSQLを使用します。 |
|
汎用SQLを使用します。 |
使用方法
プラットフォーム固有のSQLを使用する(eclipselink.jdbc.native-sql
= true
)場合、TopLinkでは、プラットフォーム固有のSQLを使用して、結合構文、日付演算子、順序付けの使用などをカスタマイズします。
例5-52 persistence.xmlでのjdbc.native-sqlの使用
<property name="eclipselink.jdbc.native-sql" value="false"/>
例5-53 プロパティ・マップでのjdbc.native-sqlの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.NATIVE_SQL, "false");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の問合せに関する項
-
『Oracle TopLinkの理解』の問合せ言語に関する項
jdbc.property
eclipselink.jdbc.property
接頭辞を使用して、JDBCドライバ固有の接続プロパティをTopLinkに渡します。
使用方法
JDBCドライバ固有のプロパティ名をこのプロパティの接頭辞に追加します。
例
例5-54に、persistence.xml
ファイルでこのプロパティ接尾辞を使用する方法を示します。
例5-54 persistence.xmlでのjdbc.propertyの使用
<property name="eclipselink.jdbc.property.defaultRowPrefetch" value="25"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のOracle DatabaseでTopLinkを使用する方法に関する項
-
『Oracle TopLinkの理解』のデータ・アクセスの概要に関する項
jdbc.sql-cast
eclipselink.jdbc.sql-cast
プロパティを使用して、TopLinkでプラットフォーム固有(つまりネイティブ)のCAST
SQL操作を使用するかどうかを指定します。
注意:
通常、キャストは不要です。キャストを使用すると問題が発生することがあります。
値
表5-51は、この永続性プロパティの値を説明しています。
表5-51 jdbc.sql-castの有効値
値 | 説明 |
---|---|
|
プラットフォーム固有の |
|
(デフォルト)プラットフォーム固有の |
例
例5-55に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-55 persistence.xmlでのjdbc.sql-castの使用
<property name="eclipselink.jdbc.sql-cast" value="true"/>
jdbc.uppercase-columns
eclipselink.jdbc.uppercase-columns
プロパティを使用して、メタデータからの列名を強制的に大文字にします。
注意:
このパラメータはjpql.parser
に置き換えられました。これにより、比較時に両方で大文字が使用されるようになります。
値
表5-52は、この永続性プロパティの値を説明しています。
表5-52 jdbc.uppercase-columnsの有効値
値 | 説明 |
---|---|
true |
メタデータからのすべての列名が強制的に大文字になります。 |
false |
(デフォルト)メタデータからの列名は強制的には大文字になりません。 |
使用方法
ネイティブSQL問合せを使用する場合、一部のプラットフォームについてJDBCメタデータから小文字の列名が返される可能性があります。マッピングでの列名が大文字である場合(デフォルト)、これらは一致しません。このパラメータを使用して、メタデータからのすべての列名を強制的に大文字にする必要があります。
例
例5-56に、persistence.xml
ファイルでこのパラメータを使用する方法を示します。
例5-56 persistence.xmlでのjdbc.uppercase-column-namesの使用
<property name="eclipselink.jpa.uppercase-columns" value="true"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のOracle DatabaseでTopLinkを使用する方法に関する項
-
『Oracle TopLinkの理解』のデータ・アクセスの概要に関する項
jpql.parser
eclipselink.jpql.parser
プロパティを使用して、JPQLパーサー・パラメータを構成します。
値
表5-53は、この永続性プロパティの値を説明しています。
表5-53 jpql.parserの有効値
値 | 説明 |
---|---|
|
(デフォルト)拡張されたJPQLサポートを提供する、EclipseLink 2.4以降の現在のパーサー |
|
下位互換性のために使用される古いパーサー(EclipseLink 2.4より前) |
jpa.uppercase-column-names
eclipselink.jpa.uppercase-column-names
プロパティを使用して、JPA処理ですべての列名定義が大文字になるように指定します(大/小文字を区別しないのと同じ状態にします)。
値
表5-54は、この永続性プロパティの値を説明しています。
表5-54 jpa.uppercase-column-namesの有効値
値 | 説明 |
---|---|
|
データベースから返されるJDBCメタデータが大文字で返されるため、フィールドの大/小文字が一致します。 |
|
(デフォルト)JDBCメタデータは大文字で返されません。 |
使用方法
このプロパティを使用して、ユーザー定義のフィールドの大/小文字が、ネイティブ問合せに対してデータベースから返された大/小文字と一致しない状況を修正します。
例
例5-57に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-57 persistence.xmlでのjpa.uppercase-column-namesの使用
<property name="eclipselink.jpa.uppercase-column-names" value="true"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のOracle DatabaseでTopLinkを使用する方法に関する項
-
『Oracle TopLinkの理解』のデータ・アクセスの概要に関する項
jpql.validation
eclipselink.jpql.parser
プロパティを使用して、JPQLパーサーの検証レベルを構成します。
値
表5-55は、この永続性プロパティの値を説明しています。
表5-55 jpql.validationの有効値
値 | 説明 |
---|---|
|
(デフォルト) EclipseLink JPALの拡張機能を許可します。 |
|
有効なJPA 1.0 JPQLのみを許可します。 |
|
有効なJPA 2.0 JPQLのみを許可します。 |
|
有効なJPA 2.1 JPQLのみを許可します。 |
|
JPQL検証は行われません。 |
使用方法
このパラメータは、eclipselink.jpql.parser
がHermesParser
である場合にのみ適用されます。
例
例5-58に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-58 persistence.xmlでのjpql.validationの使用
<property name="eclipselink.jpql.validation" value="JPA 1.0"/>
logging.connection
eclipselink.logging.connection
プロパティを使用して、接続をログに記録するかどうかを指定します。
値
表5-56は、この永続性プロパティの値を説明しています。
表5-56 logging.connectionの有効値
値 | 説明 |
---|---|
|
(デフォルト)接続名が記録されます。 |
|
接続名は記録されません。 |
使用方法
このパラメータを使用すると、接続はすべて記録されアプリケーション・コードでマスクされません。
例
例5-59に、persistence.xml
ファイルでこのパラメータを使用する方法を示します。
例5-59 persistence.xmlでのlogging.connectionの使用
<property name="eclipselink.logging.connection" value="false"/>
関連項目
詳細は、次を参照してください。
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
) -
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
logging.exceptions
eclipselink.logging.exceptions
プロパティを使用して、例外がスローされた場合に、この例外をコール元のアプリケーションに返す前に記録するかどうかを指定します。
値
表5-57は、この永続性プロパティの値を説明しています。
表5-57 logging.exceptionsの有効値
値 | 説明 |
---|---|
|
(デフォルト)例外がスローされた場合に記録されます。 |
|
例外がスローされても記録されません。 |
使用方法
このプロパティを使用すると、確実にすべての例外が記録され、アプリケーション・コードによってマスクされません。
例5-60 persistence.xmlファイルでのlogging.exceptionsの使用
<property name="eclipselink.logging.exceptions" value="false" />
例5-61 プロパティ・マップでのlogging.exceptionsの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_EXCEPTIONS, "false");
関連項目
詳細は、次を参照してください。
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
) -
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
logging.file
eclipselink.logging.file
プロパティを使用して、標準出力のかわりにログを出力するファイルの場所を指定します。
値
表5-58は、この永続性プロパティの値を説明しています。
表5-58 logging.fileの有効値
値 | 説明 |
---|---|
ディレクトリ名 |
書込みアクセス権限を持つディレクトリへの場所の文字列。この場所は、現在の作業ディレクトリまたは絶対位置に対して相対的に指定できます。 |
使用方法
このプロパティは、Java SE環境で使用される場合に適用されます。
例5-62 persistence.xmlファイルでのlogging.fileの使用
<property name="eclipselink.logging.file" value="C:\myout\" />
例5-63 プロパティ・マップでのlogging.fileの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_FILE, "C:\myout\");
関連項目
詳細は、次を参照してください。
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
) -
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
logging.level
eclipselink.logging.level
プロパティを使用して、特定のロギング・レベルを指定し、生成される量と詳細を制御します。
値
表5-59は、この永続性プロパティの値を説明しています。
表5-59 logging.levelの有効値
値 | 説明 |
---|---|
|
ロギングを無効化します。 ロギングのオーバーヘッドを回避するために、本番中に |
|
TopLinkが続行できないことを示す例外、およびログイン時に生成されたすべての例外を記録します。これにはスタック・トレースが含まれます。 |
|
|
|
(デフォルト)ユーザー名など、サーバー・セッションごとのログイン/ログアウトを記録します。セッションを取得すると、詳細情報が記録されます。 |
|
ログイン、JDBC接続およびデータベース情報のみを記録します。このログ・レベルは、デプロイメント時に使用する場合があります。 |
|
すべてのSQLを記録します。このログ・レベルは、デバッグおよびテスト時に使用する場合がありますが、本番では使用しません。 |
|
|
|
|
|
|
例5-64 persistence.xmlファイルでのlogging.levelの使用
<property name="eclipselink.logging.level" value="OFF" />
例5-65 プロパティ・マップでのlogging.levelの使用
import java.util.logging.Level; import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_LEVEL, Level.OFF);
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
)
logging.logger
eclipselink.logging.logger
プロパティを使用して、使用するログ出力のタイプを定義します。
値
表5-60は、この永続性プロパティの値を説明しています。
表5-60 logging.loggerの有効値
値 | 説明 |
---|---|
カスタム・ログ出力 |
|
|
|
|
アプリケーション・サーバーのロギングと統合します。 |
|
(デフォルト) TopLinkのネイティブ・ロギング( |
例5-66 persistence.xmlでのlogging.loggerの使用
<property name="eclipselink.logging.logger" value="JavaLogger"/>
例5-67 プロパティ・マップでのlogging.loggerの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_LOGGER, "acme.loggers.MyCustomLogger";
関連項目
詳細は、次を参照してください。
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
) -
カスタム・ログ出力(http://wiki.eclipse.org/EclipseLink/Examples/JPA/CustomLogger)
logging.parameters
eclipselink.logging.parameters
プロパティを使用して、SQLバインド・パラメータを例外およびログに含めるかどうかを定義します。
注意:
このパラメータは、バインド・パラメータにのみ適用されます。バインディングを使用しない場合、パラメータは常に表示されます。
値
表5-61は、この永続性プロパティの値を説明しています。
表5-61 logging.parametersの有効値
値 | 説明 |
---|---|
|
(デフォルト)パラメータが表示されます。 |
|
パラメータは表示されません。 |
使用方法
デフォルトでは、logging.level
にFINE
(以上)を使用する場合、SQLバインド・パラメータが表示されます。このパラメータを使用して、デフォルト動作をオーバーライドします。
例
例5-58に、persistence.xml
ファイルでこのパラメータを使用する方法を示します。
例5-68 persistence.xmlでのlogging.parametersの使用
<paramter name="eclipselink.logging.parameters" value="false"/>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
)
logging.session
eclipselink.logging.session
プロパティを使用して、TopLinkによって各ログ・メッセージにセッション識別子が含められるかどうかを指定します。
値
表5-62は、この永続性プロパティの値を説明しています。
表5-62 logging.sessionの有効値
値 | 説明 |
---|---|
|
(デフォルト)セッション識別子が記録されます。 |
|
セッション識別子は記録されません。 |
使用方法
この設定は、SQLなどのデータベース接続を必要とするメッセージ、および、どの基礎となるセッション(存在する場合)についてメッセージが送信されたかを判断するための、トランザクション情報を必要とするメッセージに適用可能です。
例5-69 persistence.xmlファイルでのlogging.sessionの使用
<property name="eclipselink.logging.session" value="false" />
例5-70 プロパティ・マップでのlogging.sessionの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_SESSION, "false");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
)
logging.thread
eclipselink.logging.thread
プロパティを使用して、TopLinkによって各ログ・メッセージにスレッド識別子が含められるかどうかを指定します。
値
表5-63は、この永続性プロパティの値を説明しています。
表5-63 logging.threadの有効値
値 | 説明 |
---|---|
|
(デフォルト)スレッド識別子が記録されます。 |
|
スレッド識別子は記録されません。 |
使用方法
このプロパティは、マルチスレッド・アプリケーションを実行する場合に使用する必要があります。TopLinkでは、スレッドのhashCodeが組み込まれます。
例5-71 persistence.xmlファイルでのlogging.threadの使用
<property name="eclipselink.logging.thread" value="false" />
例5-72 プロパティ・マップでのlogging.threadの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_THREAD, "false");
関連項目
詳細は、次を参照してください。
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
) -
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
logging.timestamp
eclipselink.logging.timestamp
プロパティを使用して、TopLinkによって各ログ・メッセージにタイムスタンプが含められるかどうかを指定します。
値
表5-64は、この永続性プロパティの値を説明しています。
表5-64 logging.timestampの有効値
値 | 説明 |
---|---|
true |
(デフォルト)タイムスタンプが記録されます。 |
false |
タイムスタンプは記録されません。 |
例5-73 persistence.xmlファイルでのlogging.timestampの使用
<property name="eclipselink.logging.timestamp" value="false" />
例5-74 プロパティ・マップでのlogging.timestampの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.LOGGING_TIMESTAMP, "false");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のTopLinkロギングを公開するためのWebLogic Serverの構成に関する項
-
ロギングの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
)
metadata-source
eclipselink.metadata-source
プロパティを使用して、TopLinkでメタデータの読取りに使用するMetadataSource
実装を指定します。
値
表5-65は、この永続性プロパティの値を説明しています。
表5-65 metadata-sourceの有効値
値 | 説明 |
---|---|
|
|
カスタム・メタデータ・ソース |
|
使用方法
このプロパティをeclipselink.metadata-source.xml.file
で使用し、永続性ユニット用の固定URLで外部マッピング・ファイルにアクセスします。
例
例5-75に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-75 persistence.xmlでのmetadata-sourceの使用
<property name="eclipselink.metadata-source" value="xml"/> <property name="eclipselink.metadata-source.xml.file" value="c:/myfile.xml"/>
関連項目
詳細は、次を参照してください。
-
メタデータ・ソースの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MetadataSource
) -
「Extensible Entities」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Extensible_Entities
) -
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
metadata-source.properties.file
eclipselink.metadata-source.properties.file
プロパティを使用し、クラスローダーを使用してリソースを検索する場合に読み取られる、メタデータ・リポジトリのプロパティ・ファイルの名前を指定します。
値
表5-66は、この永続性プロパティの値を説明しています。
表5-66 metadata-repository.properties.fileの有効値
値 | 説明 |
---|---|
ファイル名 |
メタデータ・ソースXMLファイルの名前 |
使用方法
XMLリポジトリを使用する場合、このプロパティをeclipselink.metadata-source
とともに使用します。
例
例5-76に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-76 persistence.xmlでのmetadata-source.properties.fileの使用
<property name="eclipselink.metadata-source.properties.file" value="c:\myproperties.xml"/>
関連項目
詳細は、次を参照してください。
-
メタデータ・ソースの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MetadataSource
) -
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
metadata-source.send-refresh-command
eclipselink.metadata-source.send-refresh-command
プロパティをクラスタ環境用のキャッシュ・コーディネーションとともに使用して、RCMリフレッシュ・メタデータ・コマンドをTopLinkがクラスタに送信する方法を制御します。
値
表5-67は、この永続性プロパティの値を説明しています。
表5-67 metadata-source.send-refresh-commandの有効値
値 | 説明 |
---|---|
|
(デフォルト)リフレッシュ・コマンドをクラスタに伝播するには、RCMを構成して、 |
|
リフレッシュ・コマンドはクラスタに伝幡されません。 |
使用方法
キャッシュ・コーディネーションが構成されており、かつ、セッションが起動時にデプロイされている場合、このプロパティによって、RCMリフレッシュ・メタデータ・コマンドのクラスタへの送信が制御されます。
これらのコマンドによって、リモート・インスタンスでメタデータがリフレッシュされます。
例5-77 persistence.xmlでのmetadata-source.send-refresh-commandの使用
<property name="eclipselink.metadata-source-refresh-command" value="false"/>
例5-78 プロパティ・マップでのmetadata-source-refresh-commandの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.METADATA_SOURCE_RCM_COMMAND, "false");
関連項目
詳細は、次を参照してください。
-
メタデータ・ソースの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MetadataSource
) -
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
metadata-source.xml.file
eclipselink.metadata-repository.xml.file
プロパティを使用し、クラスローダーを使用してリソースを検索する場合に読み取られる、メタデータ・リポジトリのXMLファイルの名前を指定します。
値
表5-68は、この永続性プロパティの値を説明しています。
表5-68 metadata-source.xml.fileの有効値
値 | 説明 |
---|---|
ファイル名 |
メタデータ |
使用方法
XMLリポジトリを使用する場合、このプロパティをeclipselink.metadata-source
プロパティとともに使用します。
例
例5-79に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-79 persistence.xmlでのmetadata-source.xml.fileの使用
<property name="eclipselink.metadata-source" value="xml"/> <property name="eclipselink.metadata-source.xml.file" value="c:/myfile.xml"/>
関連項目
詳細は、次を参照してください。
-
メタデータ・ソースの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MetadataSource
) -
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
metadata-source.xml.url
eclipselink.metadata-source.xml.url
プロパティを使用して、外部マッピングファイルの場所を指定します。
使用方法
metadata-source
プロパティをXMLに設定する必要があります。
例
例5-75に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-80 persistence.xmlでのmetadata-source.xml.urlの使用
<property name="eclipselink.metadata-source" value="xml"/> <property name="eclipselink.metadata-source.xml.url" value="http://myfile.xml"/>
関連項目
詳細は、次を参照してください。
-
メタデータ・ソースの例(
http://wiki.eclipse.org/EclipseLink/Examples/JPA/MetadataSource
) -
『Oracle TopLinkソリューション・ガイド』の「外部のメタデータ・ソースの使用」
multitenant.tenants-share-cache
eclipselink.multitenant.tenants-share-cache
をプロパティ使用して、マルチテナント・エンティティでL2キャッシュを共有するかどうかを指定します。
値
表5-70は、この永続性プロパティの値を説明しています。
表5-70 multitenant.tenants-share-cacheの有効値
値 | 説明 |
---|---|
|
マルチテナント・エンティティで、保護されたキャッシュが使用されます。 |
|
(デフォルト)マルチテナント・エンティティで、独立したキャッシュが使用されます。 |
使用方法
警告:
この設定がfalse
であり、PROTECTED
設定を使用している場合、キャッシュを使用する問合せにより、他のテナントからデータが返されることがあります。
例5-81 persistence.xmlでのmultitenant.tenants-share-cacheの使用
<property name="eclipselink.multitenant.tenants-share-cache" value="true" />
例5-82 プロパティ・マップでのmultitenant.tenants-share-cacheの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.MULTITENANT_TENANTS_SHARE_CACHE, "true");
関連項目
詳細は、次を参照してください。
-
マルチテナントの例:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Multitenant
-
『Oracle TopLinkソリューション・ガイド』のマルチテナンシの使用に関する項
multitenant.tenants-share-emf
eclipselink.multitenant.shared-emf
プロパティを使用して、共有エンティティ・マネージャ・ファクトリ内でマルチテナント・エンティティを使用するかどうかを指定します。
値
表5-71は、この永続性プロパティの値を説明しています。
表5-71 multitenant.tenants-share-emfの有効値
値 | 説明 |
---|---|
|
(デフォルト)マルチテナント・エンティティが使用されます。 |
|
一意のセッション名を指定します。 |
使用方法
false
に設定する場合は、一意のセッション名を指定する必要があります。
例
例5-83に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-83 persistence.xmlでのmultitenant.tenants-share-emfの使用
<property name="eclipselink_multitenant_tenants_share_emf" value="true" />
関連項目
詳細は、次を参照してください。
-
マルチテナントの例:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/Multitenant
-
『Oracle TopLinkソリューション・ガイド』のマルチテナンシの使用に関する項
nosql.connection-factory
eclipselink.nosql.connection-factory
プロパティを使用して、JCA ConnectionFactory
のJNDI名またはNoSQLデータ・ソースに接続するJCA ConnectionFactory
のクラス名を指定します。
値
表5-72は、この永続性プロパティの値を説明しています。
表5-72 nosql.connection-factoryの有効値
値 | 説明 |
---|---|
コネクション・ファクトリ |
JCAコネクション・ファクトリのJNDI名またはクラス名。 |
使用方法
このプロパティを使用すると、JCA ConnectionFactory
をNoSqlまたはNoSQLデータ・ソース(つまり、レガシー・データベース、NoSQLデータベース、XMLデータベース、トランザクション・システムやメッセージ・システム、ERPシステムなどの非リレーション・データ・ソース)用のEISアダプタとともに使用できます。
例
例5-84に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-84 persistence.xmlでのnosql.connection-factoryの使用
<property name="eclipselink.nosql.connection-factory" value="MyConnectionFactory" />
関連項目
詳細は、次を参照してください。
-
「NoSQL Persistence Units」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/NoSQL/Persistence_Units
) -
『Oracle TopLinkの理解』のNoSQLデータベースの使用に関する項
-
『Oracle TopLinkソリューション・ガイド』のTopLinkと非リレーショナル・データベースの使用に関する項
nosql.connection-spec
eclipselink.nosql.connection-spec
プロパティを使用して、NoSQLデータ・ソースへの接続方法を定義するEISConnectionSpec
クラス名を指定します。
使用方法
このプロパティを使用すると、JCA ConnectionFactoryをNoSqlまたはNoSQLデータソース(つまり、レガシー・データベース、NoSQLデータベース、XMLデータベース、トランザクション・システムやメッセージ・システム、ERPシステムなどの非リレーション・データソース)用のEISアダプタとともに使用できます。
例
このプロパティの使用方法の詳細は、例5-85を参照してください。
関連項目
詳細は、次を参照してください。
-
「NoSQL Persistence Units」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/NoSQL/Persistence_Units
) -
『Oracle TopLinkの理解』のNoSQLデータベースの使用に関する項
-
『Oracle TopLinkソリューション・ガイド』のTopLinkと非リレーショナル・データベースの使用に関する項
nosql.property
eclipselink.nosql.property
プロパティを使用して、NoSQL固有の接続プロパティを設定します。
使用方法
NoSQL固有のプロパティ名をこのプロパティに追加します。
例
例5-85に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-85 persistence.xmlでのnosql.propertyの使用
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_2_0.xsd" version="2.0"> <persistence-unit name="acme" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="eclipselink.target-database" value="org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform"/> <property name="eclipselink.nosql.connection-spec" value="org.eclipse.persistence.nosql.adapters.mongo.MongoConnectionSpec"/> <property name="eclipselink.nosql.property.mongo.port" value="27017, 27017"/> <property name="eclipselink.nosql.property.mongo.host" value="host1, host2"/> <property name="eclipselink.nosql.property.mongo.db" value="acme"/> </properties> </persistence-unit> </persistence>
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkの理解』の非SQLデータベースの使用に関する項
-
「NoSQL Persistence Units」(
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/NoSQL/Persistence_Units
)
oracle.proxy-type
eclipselink.oracle.proxy-type
プロパティを使用して、OracleConnection.openProxySession
メソッドに渡すプロキシ・タイプを指定します。
値
表5-75は、この永続性プロパティの値を説明しています。
表5-75 oracle.proxy-typeの有効値
値 | 説明 |
---|---|
|
このタイプでは、プロキシ接続を作成する際の認証にユーザー名が使用されます。 |
|
このタイプでは、プロキシ接続を作成する際の認証に識別名が使用されます。 |
|
このタイプでは、プロキシ接続を作成する際の認証にデジタル証明書が使用されます。 |
使用方法
このプロパティにはOracle JDBCバージョン10.1.0.2以上が必要であり、eclipselink.target-database
が、Oracle9
以上を使用するように構成されている必要があります。
通常、createEntityManager
メソッドを使用するか、またはEntityManagerImpl
で独自のsetProperties
メソッドを使用して、このプロパティをEntityManager
に設定する必要があります。これにより、トランザクション内で書込みおよび読取りを行う際に、EntityManager
でプロキシ接続が使用されます。
proxy-type
および対応するproxy
プロパティがEntityManagerFactory
に設定されている場合、ファクトリによって作成されるすべての接続はプロキシ接続となります。
例
例5-86に、EntityManager
でこのプロパティを使用する方法を示します。
例5-86 EntityManagerでのeclipselink.oracle.proxy-typeの使用
Map emProperties = new HashMap(); emProperties.put("eclipselink.oracle.proxy-type", OracleConnection.PROXYTYPE_USER_NAME); emProperties.put(OracleConnection.PROXY_USER_NAME, "john"); EntityManager em = emf.createEntityManager(emProperties);
インジェクションを使用する場合:
entityManager.setProperty(“eclipselink.oracle.proxy-type", OracleConnection.PROXYTYPE_USER_NAME); entityManager.setProperty(OracleConnection.PROXY_USER_NAME, “john");
関連項目
詳細は、次を参照してください。
orm.throw.exceptions
eclipselink.orm.throw.exceptions
プロパティを使用して、persistence.xml
ファイルの<mapping-file>
要素に指定されたファイルのいずれかに問題が発生した場合に、TopLinkで例外をスローするか、または警告を記録するかを指定します。
値
表5-76は、この永続性プロパティの値を説明しています。
表5-76 orm.throw.exceptionsの有効値
値 | 説明 |
---|---|
|
(デフォルト)例外をスローします。 |
|
警告の記録のみを行います。 |
例5-87 persistence.xmlでのorm.throw.exceptionsの使用
<property name="oracle.orm.throw.exceptions" value="false"/>
例5-88 プロパティ・マップでのorm.throw.exceptionsの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.ECLIPSELINK_ORM_THROW_EXCEPTIONS, "false");
orm.validate.schema
orm.validate.schema
プロパティを使用して、orm.xml
のスキーマ検証をデフォルト値であるfalse
からオーバーライドします。
値
表5-77は、この永続性プロパティの値を説明しています。
表5-77 orm.validate.schemaの有効値
値 | 説明 |
---|---|
|
|
|
(デフォルト) |
使用方法
orm.validate.schema
を使用してorm.xml
のスキーマ検証を有効にします。
例5-89 persistence.xmlでのorm.validate.schemaの使用
<property name="eclipselink.orm.validate.schema" value="true"/>
例5-90 プロパティ・マップでのorm.validate.schemaの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.ORM_VALIDATE_SCHEMA, "true");
partitioning
eclipselink.partitioning
プロパティを使用して、永続性ユニットにデフォルトのPartitioningPolicy
を設定します。この値は、定義された既存のPartitioningPolicy
の名前である必要があります。
使用方法
このプロパティを使用して、複数の異なるデータベース間またはOracle RACなどのデータベース・クラスタ全体で、クラスのデータをパーティション化します。パーティション化によって、複数のデータベース・マシンが要求を処理できるようになり、スケーラビリティを向上させることができます。
複数のパーティションを使用して単一のトランザクションを処理する場合は、XAトランザクションを適切にサポートするために、JavaトランザクションAPI (JTA)を使用します。
例
例5-91に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-91 persistence.xmlでのpartitioningの使用
<property name="eclipselink.partitioning" value="Replicate" />
関連項目
詳細は、次を参照してください。
partitioning.callback
eclipselink.partitioning.callback
プロパティを使用して、外部DataSourceのアフィニティ・サポート(UCPなど)を統合します。
値
表5-79は、この永続性プロパティの値を説明しています。
表5-79 eclipselink.partitioning.callbackの有効値
値 | 説明 |
---|---|
value |
|
使用方法
値には完全なクラス名を設定する必要があります。
例5-92 persistence.xmlでのpartitioning.callbackの使用
<property name="eclipselink.partitioning.callback" value="mypacakge.MyDataPartitioningCallback"/>
例5-93 プロパティ・マップでのpartitioning.callbackの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PARTITIONING_CALLBACK, "mypackage.MyDataPartitioningCallback");
persistence-context.close-on-commit
eclipselink.persistence-context.close-on-commit
プロパティを使用して、コミット後にEntityManager
を閉じるか、または使用しないようにするか(延長なし)を指定します。
値
表5-80は、この永続性プロパティの値を説明しています。
表5-80 persistence-context.close-on-commitの有効値
値 | 説明 |
---|---|
|
コミット後にEntityManagerを閉じます。 |
|
(デフォルト)コミット後にEntityManagerを閉じません。 |
使用方法
コンテナ管理のEntityManager
やほとんどの管理対象アプリケーションでは、通常このプロパティをfalse
に設定します。この設定により、commit()
トランザクションの後に永続性コンテキストが再開されてパフォーマンスのオーバーヘッドが増加することを回避できます。
このプロパティをpersistence.xml
に設定するか、またはcreateEntityManagerFactory
に渡すと、ファクトリによって作成されるすべてのEntityManagers
に影響を及ぼします。または、このプロパティを特定のEntityManagers
に適用するには、createEntityManager
メソッドに渡します。
例
例5-94に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-94 persistence.xmlでのpersistence-context.close-on-commitの使用
<property name="eclipselink.persistence-context.close-on-commit" value="true"/>
例5-95に、プロパティ・マップでこのプロパティを使用する方法を示します。
例5-95 プロパティ・マップでのpersistence-context.close-on-commitの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT, "true");
persistence-context.commit-without-persist-rules
eclipselink.persistence-context.commit-without-persist-rules
プロパティを使用して、EntityManagerですべての管理対象オブジェクトを検索し、管理されていない新規の関連オブジェクトが見つかった場合は、CascadeType.PERSIST
設定が欠落していても無視して永続化するかどうかを指定します。
値
表5-81は、この永続性プロパティの値を説明しています。
表5-81 persistence-context.commit-without-persist-rulesの有効値
値 | 説明 |
---|---|
|
エンティティ・ライフサイクルのPersist操作を関連エンティティにカスケードし、 |
|
(デフォルト)エンティティ・ライフサイクルのPersist操作を関連エンティティにカスケードしません。また、 |
使用方法
このプロパティをtrue
に設定すると、EclipseLinkの従来のネイティブ機能がレプリケートされます。
例5-96 persistence.xmlでのpersistence-context.commit-without-persist-rulesの使用
<property name="eclipse.persistence-context.commit-without-persist-rules" value="true"/>
例5-97 プロパティ・マップでのpersistence-context.commit-without-persist-rulesの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES, "true");
persistence-context.flush-mode
eclipselink.persistence-context.flush-mode
プロパティを使用して、EntityManager
FlushMode
を永続性プロパティとして設定されるよう構成し、いつフラッシュを行うかを指定します。
値
表5-82は、この永続性プロパティの値を説明しています。
表5-82 persistence-context.flush-modeの有効値
値 | 説明 |
---|---|
|
(デフォルト)フラッシュは、問合せの実行時に行われます。 |
|
フラッシュは、トランザクションのコミット時に行われます。 |
使用方法
このプロパティをpersistence.xml
に設定するか、またはcreateEntityManagerFactory
に渡すと、ファクトリによって作成されるすべてのEntityManagers
に影響を及ぼします。このプロパティを特定のEntityManagers
に適用するには、createEntityManager
メソッドに渡します。
例5-98 persistence.xmlでのpersistence-context.flush-modeの使用
<property name="eclipselink.persistence-context.flush-mode" value="commit" />
例5-99 プロパティ・マップでのpersistence-context.flush-modeの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PERSISTENCE_CONTEXT_FLUSH_MODE, "false");
persistence-context.persist-on-commit
eclipselink.persistence-context.persist-on-commit
プロパティを使用して、EntityManager
ですべての管理対象オブジェクトを検索し、管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものをすべて永続化するかどうかを指定します。これを使用すると、新規オブジェクトに対して常に永続化が使用される場合に、この検索を実行する負荷を回避できます。
値
表5-83は、この永続性プロパティの値を説明しています。
表5-83 persistence-context.persist-on-commitの有効値
値 | 説明 |
---|---|
|
(デフォルト)管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものに対して検索および永続化を行います。 |
|
管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものに対して検索および永続化を行いません。 |
使用方法
このプロパティをpersistence.xml
に設定するか、またはcreateEntityManagerFactory
に渡すと、ファクトリによって作成されるすべてのEntityManagers
に影響を及ぼします。このプロパティを特定のEntityManagers
に適用するには、createEntityManager
メソッドに渡します。
例5-100 persistence.xmlでのpersistence-context.persist-on-commitの使用
<property name="eclipselink.persistence-context.persist-on-commit" value="false"/>
例5-101 プロパティ・マップでのpersistence-context.persis-on-commitの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT, "false");
persistence-context.reference-mode
eclipselink.persistence-context.reference-mode
プロパティを使用して、永続性コンテキスト内でハード参照とソフト(つまり弱い)参照のどちらを使用するかを指定します。
値
表5-84は、この永続性プロパティの値を説明しています。
表5-84 persistence-context.reference-modeの有効値
値 | 説明 |
---|---|
|
(デフォルト) TopLinkにより、ハード参照を使用してすべてのオブジェクトが参照されます。参照アーティファクト(永続性コンテキストや作業ユニットなど)を解放、消去または閉じるまで、これらのオブジェクトをガベージ・コレクションに使用することはできません。 |
|
アクティブ属性の変更追跡(「@ChangeTracking」を参照)をサポートするオブジェクトへの参照は、弱参照によって保持されます。つまり、直接的または間接的に参照されなくなったすべてのオブジェクトは、ガベージ・コレクションに使用できるようになります。変更追跡の対象オブジェクトが変更されると、該当するオブジェクトはハード参照に移動され、フラッシュされるまでガベージ・コレクションに使用できなくなります。 注意: これらのエンティティ内でフラッシュされなかった変更は、すべて失われます。 アクティブ属性の変更追跡をサポートしないオブジェクトに加えて、新規および削除されたオブジェクトもハード参照によって保持され、ガベージ・コレクションに使用することはできません。 |
|
変更追跡の対象外であるオブジェクトを含むすべてのオブジェクトは、弱参照によって保持されます。変更追跡の対象オブジェクト(「@ChangeTracking」を参照)が変更されると、該当するオブジェクトはハード参照に移動され、フラッシュされるまでガベージ・コレクションに使用できなくなります。ただし、アクティブ属性の変更追跡をサポートしないすべてのオブジェクトは、それらの変更がデータベースにフラッシュされる前にガベージ・コレクトされる場合があるため、変更が失われる可能性があります。 新規および削除されたオブジェクトはハード参照によって保持され、ガベージ・コレクションに使用することはできません。 |
使用方法
このプロパティをpersistence.xml
に設定するか、またはcreateEntityManagerFactory
に渡すと、ファクトリによって作成されるすべてのEntityManagers
に影響を及ぼします。このプロパティを特定のEntityManagers
に適用するには、createEntityManager
メソッドに渡します。
例5-102 persistence.xmlでのpersistence-context.reference-modeの使用
<property name="eclipselink.persistence-context.reference-mode" value="FORCE_WEAK"/>
例5-103 プロパティ・マップでのpersistence-context.reference-modeの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PERSISTENCE_CONTEXT_REFERENCE_MODE, ReferenceMode.FORCE_WEAK);
persistenceunits
eclipselink.persistenceunits
プロパティを使用して、標準モデルの生成時に処理する永続性ユニットの名前セットを指定します。デフォルトでは、TopLinkにより、すべての永続性XMLファイル内で使用可能なすべての永続性ユニットが使用されます。
値
表5-85は、この永続性プロパティの値を説明しています。
表5-85 persistenceunitsの有効値
値 | 説明 |
---|---|
名前 |
永続性ユニットのカンマ区切りリスト 注意: 複数の永続性ユニットを指定する場合、永続性ユニットの名前にカンマ( , )を使用することはできません。 |
例
例5-104に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-104 persistence.xmlでのpersistenceunitsの使用
<property name="eclipselink.persistenceunits" value="mypu1, mypu2"/>
persistencexml
eclipselink.persistencexml
プロパティを使用して、永続性XMLファイルの検索対象となる完全なリソース名を指定します。省略する場合、TopLinkでは、デフォルトの場所META-INF/persistence.xml
が使用されます。
注意:
現在、このプロパティは標準のモデル・ジェネレータにのみ使用されています。
使用方法
このプロパティは、EclipseLinkで構成ファイルを検索するときにのみ使用されます。EJB/Springコンテナ内においてコンテナ管理モードで使用した場合、このファイルの検索と読取りはコンテナによって行われ、この構成は使用されません。
デフォルトの場所を変更する場合は、persisencexml.default
を使用します。
例
例5-105に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-105 persistence.xmlでのpersistencexmlの使用
<property name="eclipselink.persistencexml" value="resources/persistence.xml"/>
関連項目
詳細は、「persisencexml.default」を参照してください
persisencexml.default
eclipselink.persistencexml.default
プロパティを使用して、persistence.xml
構成ファイルが配置されるデフォルトのリソースの場所を指定します。デフォルトの場所はMETA-INF/persistence.xml
です。
値
表5-87は、この永続性プロパティの値を説明しています。
表5-87 persistencexml.defaultの有効値
値 | 説明 |
---|---|
リソースの場所 |
|
例
例5-106に、プロパティ・マップでこのプロパティを使用する方法を示します。
例5-106 プロパティ・マップでのpersistencexml.defaultの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML_DEFAULT, "resources/persistence.xml");
profiler
eclipselink.profiler
プロパティを使用して、実行時統計を取得するために使用するパフォーマンス・プロファイラを指定します。
値
表5-88は、この永続性プロパティの値を説明しています。
表5-88 profilerの有効値
値 | 説明 |
---|---|
|
(デフォルト)パフォーマンス・プロファイラは使用されません。 |
|
EclipseLinkパフォーマンス・モニター |
|
EclipseLinkパフォーマンス・プロファイラを使用します( |
|
問合せ実行およびキャッシュ・ヒットを監視します( このオプションにより、問合せ実行およびキャッシュ・ヒットのパフォーマンスを測定するための低オーバーヘッドの単純な方法が提供されます。複雑なシステムでのパフォーマンス分析に、このオプションを使用することが必要な場合があります。 |
|
|
カスタム・プロファイラ |
|
例5-107 persistence.xmlでのprofilerの使用
<property name="eclipselink.profiler" value="PerformanceProfiler"/>
例5-108 プロパティ・マップでのprofilerの使用
import org.eclipse.persistence.config.ProfilerType; import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.PROFILER, ProfilerType.PerformanceProfiler);
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』のパフォーマンスの測定に関する項
session.customizer
eclipselink.session.customizer
プロパティを使用して、org.eclipse.persistence.config.SessionCustomizer
インタフェースを実装するセッション・カスタマイザ・クラスを指定します。このクラスは、デフォルトの引数を使用しないコンストラクタを提供する必要があります。
値
表5-89は、この永続性プロパティの値を説明しています。
表5-89 session.customizerの有効値
値 | 説明 |
---|---|
クラス名 |
|
使用方法
(org.eclipse.persistence.sessions.Session
を値として使用する)クラスのカスタマイズ・メソッドを使用すると、拡張されたEclipseLinkセッションAPIにプログラムによってアクセスできます。セッション・カスタマイザ・クラスを使用して、複数のセッション・イベント・リスナーを定義できます。
例5-109 persistence.xmlでのsession.customizerの使用
<property name="eclipselink.session.customizer" value="acme.sessions.MySessionCustomizer"/>
例5-110 プロパティ・マップでのsession.customizerの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.SESSION_CUSTOMIZER, "acme.sessions.MySessionCustomizer");
session.include.descriptor.queries
eclipselink.session.include.descriptor.queries
プロパティを使用して、すべてのディスクリプタの名前付き問合せをセッションにコピーして、エンティティ・マネージャから利用できるようにするかどうかを指定します。
値
表5-90は、この永続性プロパティの値を説明しています。
表5-90 session.include.descriptor.queriesの有効値
値 | 説明 |
---|---|
|
コピーを有効化します。 |
|
(デフォルト)コピーを無効化します。 |
例5-111 persistence.xmlでのsession.include.descriptor.queriesの使用
<property name="eclipselink.session.include.descriptor.queries" value="true"/>
例5-112 プロパティ・マップでのsession.include.descriptor.queriesの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.INCLUDE_DESCRIPTOR_QUERIES, "true");
session-event-listener
eclipselink.session-event-listener
プロパティを使用して、ブートストラップ中に追加するディスクリプタ・イベント・リスナーを指定します。
値
表5-91は、この永続性プロパティの値を説明しています。
表5-91 session-event-listenerの有効値
値 | 説明 |
---|---|
クラス名 |
|
使用方法
複数のイベント・リスナーを定義するには、session.customizerクラスを使用します。
例5-113 persistence.xmlでのsession-event-listenerの使用
<property name="eclipselink.session-event-listener" value="mypackage.MyClass.class"/>
例5-114 プロパティ・マップでのsession-event-listenerの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.SESSION_EVENT_LISTENER_CLASS, "mypackage.MyClass.class");
session-name
eclipselink.session-name
プロパティを使用して、SessionManager
内でシングルトン・サーバー・セッションを格納するときに使用する一意の名前を構成します。
値
表5-92は、この永続性プロパティの値を説明しています。
表5-92 session.nameの有効値
値 | 説明 |
---|---|
名前 |
デフォルト(TopLinkにより生成されたセッション名)のかわりに使用する一意のセッション名。 |
使用方法
デフォルトでは、TopLinkにより一意のセッション名が生成されます。このプロパティを使用して、一意のカスタム・セッション名を指定できます。
sessions-xml
ファイルを使用する場合、このセッション名をsessions-xml
ファイルにセッション名として含める必要があります。
例5-115 persistence.xmlでのsession-nameの使用
<property name="eclipselink.session-name" value="MySession"/>
例5-116 プロパティ・マップでのsession-nameの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.SESSION_NAME, "MySession");
sessions-xml
図5-1に示すように、eclipselink.sessions-xml
プロパティを使用して、(project.xml
ファイルを参照する)指定されたネイティブのsessions.xml
構成ファイルにより、JPA注釈やTopLink XMLを使用せずに構成およびマッピング情報をロードします。
値
表5-93は、この永続性プロパティの値を説明しています。
表5-93 sessions-xmlの有効値
値 | 説明 |
---|---|
構成ファイル |
セッションXMLファイルのリソース名。このプロパティに値を指定しない場合、このプロパティは使用されません。 |
使用方法
注釈およびデプロイメントXMLを使用するかわりに、eclipselink.sessions-xml
プロパティを使用できます。このプロパティを使用すると、EclipseLinkでは、図5-1に示すように、このメタデータに基づいてインメモリーEclipseLinkセッションおよびプロジェクトが構築されます。EclipseLink sessions.xml
のみを使用してすべてのエンティティの定義などを行った後、永続性マネージャを取得して使用できます。
例5-117 persistence.xmlファイルでのsessions-xmlの使用
<property name="eclipselink.sessions-xml" value="mysession.xml"/>
例5-118 プロパティ・マップでのsessions-xmlの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.SESSIONS_XML, "mysession.xml");
target-database
eclipselink.target-database
プロパティを使用して、指定したデータベースのカスタム操作やSQL生成を制御する際に使用するデータベースを指定します。
値
表5-94は、この永続性プロパティの値を説明しています。
表5-94 target-databaseの有効値
値 | 説明 |
---|---|
|
ご使用のデータベースを指定します:
|
使用方法
eclipselink.validation-only
= true
の場合、「自動」
クラス名または短縮名は使用できません。
例5-119 persistence.xmlでのtarget-databaseの使用
<property name="eclipselink.target-database" value="Oracle"/>
または
<property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.HSQLPlatform"/>
例5-120 プロパティ・マップでのtarget-databaseの使用
import org.eclipse.persistence.config.TargetDatabase; import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.TARGET_DATABASE, TargetDatabase.Oracle);
target-server
eclipselink.target-server
プロパティを使用して、ホスト・コンテナとの統合を有効化するのに使用されるServerPlatform
を構成します。
値
表5-95は、この永続性プロパティの値を説明しています。
表5-95 target-serverの有効値
値 | 説明 |
---|---|
|
ご使用のアプリケーション・サーバーを指定します。
|
使用方法
指定された値に加えて、プラットフォームの完全なクラス名を指定することにより、カスタム・サーバー・プラットフォームを指定できます。
ExternalTransactionController
を実装するクラス名を指定すると、このコントローラにCustomServerPlatform
が設定されます。
例5-121 persistence.xmlでのtarget-serverの使用
<property name="eclipselink.target-server" value="OC4J_10_1_3"/>
例5-122 プロパティ・マップでのUsing target-serverの使用
import org.eclipse.persistence.config.TargetServer; import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put(PersistenceUnitProperties.TARGET_SERVER, TargetServer.OC4J_10_1_3);
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』
-
『Oracle TopLinkの理解』のTopLinkとアプリケーション・サーバーの統合に関する項およびTopLinkデータベースとアプリケーション・サーバーのサポートに関する項
temporal.mutable
eclipselink.temporal.mutable
プロパティを使用して、一時フィールド(Date、Calendar)への変更を検出する場合のデフォルトを構成します。
値
表5-96に、この永続性プロパティの値を示します。
表5-96 temporal.mutableの有効値
値 | 説明 |
---|---|
|
オブジェクトへの変更が検出されます。属性変更追跡のウィービングは無効化されます。 |
|
(デフォルト)オブジェクト自体への変更は検出されません。 |
使用方法
デフォルトでは、一時フィールドが置換されると想定され、一時オブジェクトは直接変更されません。
例5-123 persistence.xmlでのtemporal.mutableの使用
<property name="eclipselink.temporal.mutable" value="true"/>
例5-124 プロパティ・マップでのtemporal.mutableの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.TEMPORAL_MUTABLE, "true");
tenant-id
eclipselink.tenant-id
プロパティを使用して、マルチテナント・エンティティの移入に使用するデフォルトのコンテキスト・プロパティを指定します。
使用方法
これはデフォルトのマルチテナント・プロパティです。単独で使用することも、ユーザーが定義した他のプロパティと使用することもできます。このプロパティは使用しなくても構いません。独自のものを自由に指定できます。
例5-125 persistence.xmlでのtenant-idの使用
<property name="eclipselink.tenant-id" value="Oracle"/>
例5-126 プロパティ・マップでのtenant-idの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.MULTI_TENANT_PROPERTY_DEFAULT, "Oracle");
transaction.join-existing
eclipselink.transaction.join-existing
プロパティを使用して、永続性コンテキストでJTA管理の(書込み)接続による読取りを強制的に行います
(アクティブなトランザクションが存在する場合)。
値
表5-98は、この永続性プロパティの値を説明しています。
表5-98 transaction.join-existingの有効値
値 | 説明 |
---|---|
|
永続性コンテキストでJTA管理の接続による読取りを強制的に行います。 |
|
(デフォルト)永続性コンテキストでJTA管理の接続による読取りを強制的には行いません。 |
使用方法
このプロパティをpersistence.xmlに設定するか、またはcreateEntityManagerFactory
に渡すと、ファクトリによって作成されるすべてのEntityManagers
に影響を及ぼします。このプロパティがtrue
に設定されている場合、トランザクション中に読み取られたオブジェクトは、更新されないかぎり共有キャッシュに配置されません。または、このプロパティを一部のEntityManagers
にのみ適用するには、createEntityManager
メソッドに渡します。
例5-127 persistence.xmlでのtransaction.join-existingの使用
<property name="eclipselink.transaction.join-existing" value="true"/>
例5-128 プロパティ・マップでのtransaction.join-existingの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.TRANSACTION_JOIN_EXISTING, "true");
関連項目
詳細は、次を参照してください。
-
『Oracle TopLinkソリューション・ガイド』の自動チューニングに関する項
tuning
eclipselink.tuning
プロパティを使用して、永続性ユニットの構成に使用するチューナのタイプを選択します。
値
表5-99は、この永続性プロパティの値を説明しています。
表5-99 tuningの有効値
値 | 説明 |
---|---|
|
(デフォルト)標準のチューナが使用され、デフォルトの構成設定はいずれも変更されません。 |
|
デバッグ用の永続性ユニットを構成します。これにより、キャッシングおよび複数のパフォーマンス最適化が無効になります。開発およびデバッグ構成の簡略化を意図したものです。 |
カスタム・チューナ |
|
使用方法
自動チューニングを使用して、複数の構成プロパティを単一フラグの一部として設定し、アプリケーション開発の様々な段階で動的チューニングを実行します。
例
例5-129に、persistence.xml
ファイルでこのプロパティを使用する方法を示します。
例5-129 persistence.xmlでのtuningの使用
<property name="eclipselink.tuning" value="safe"/>
validate-existence
eclipselink.validate-existence
プロパティを使用して、TopLinkによりpersist()
でオブジェクトの存在を検証するかどうかを指定します。
値
表5-100は、この永続性プロパティの値を説明しています。
表5-100 validate-existenceの有効値
値 | 説明 |
---|---|
|
TopLinkにより、オブジェクトの存在が検証されます。 |
|
(デフォルト) TopLinkでは、オブジェクトが永続性コンテキストに存在しない場合、新規オブジェクトであると想定されます。 |
使用方法
TopLinkでは、検証されたオブジェクトが永続性コンテキストに存在しない場合、エラーがスローされます。
例5-130 persistence.xmlでのvalidate-existenceの使用
<property name="eclipselink.validate-existence" value="true"/>
例5-131 プロパティ・マップでのvalidate-existenceの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.VALIDATE-EXISTENCE, "true");
validation-only
eclipselink.validation-only
プロパティを使用して、データ・ソースに接続せずにディスクリプタを初期化し、デプロイメントを検証します。
値
表5-101は、この永続性プロパティの値を説明しています。
表5-101 validation-onlyの有効値
値 | 説明 |
---|---|
|
TopLinkにより、ディスクリプタが初期化されます(ログインなし)。 |
|
(デフォルト) TopLinkにより、ディスクリプタが初期化されます(ログインあり)。 |
使用方法
eclipselink.validation-only
をtrue
に設定する場合、自動化されていないクラス名または短縮名を使用して、eclipselink.target-database
を構成する必要もあります。
例5-132 persistence.xmlでのvalidation-onlyの使用
<property name="eclipselink.validation-only" value="true"/>
例5-133 プロパティ・マップでのvalidation-onlyの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertyMap.put(PersistenceUnitProperties.VALIDATION_ONLY, "true");
weaving
eclipselink.weaving
プロパティを使用して、TopLinkでエンティティ・クラスについてウィービングを実行するかどうかを指定します。EclipseLink JPAでは、ウィービングを使用して、遅延ロード、変更追跡、フェッチ・グループ、内部最適化などについてJPAエンティティを拡張します。
値
表5-102は、この永続性プロパティの値を説明しています。
表5-102 weavingの有効値
値 | 説明 |
---|---|
|
エンティティ・クラスの動的ウィービングが実行されます。 |
|
エンティティ・クラスのウィービングは実行されません。 |
|
エンティティ・クラスの静的ウィービングが実行されます。 |
例5-134 persistence.xmlでのweavingの使用
<property name="eclipse.weaving" value="false"/>
例5-135 プロパティ・マップでのweavingの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.WEAVING, "false");
関連項目
詳細は、次を参照してください。
-
EclipseLinkの理解でのウィービングの使用に関する項
-
EclipseLinkソリューション・ガイドのパフォーマンスの拡張に関する項
weaving.changetracking
eclipselink.weaving.changetracking
永続性プロパティを使用して、次のことを行います。
-
ウィービングによる
AttributeLevelChangeTracking
を有効化します。 -
すべてのマッピングを含むクラスのみを変更できます。
-
変更追跡を有効化できます。可変の基本属性については、変更追跡されません。
このプロパティは、ウィービングが有効の場合にのみ有効になります。
値
表5-103は、この永続性プロパティの値を説明しています。
表5-103 weaving.changetrackingの有効値
値 | 説明 |
---|---|
|
(デフォルト)このプロパティを有効化します。 |
|
このプロパティを無効化します。 |
例5-136 persistence.xmlでのweaving.changetrackingの使用
<property name="eclipse.weaving.changetracking" value="false"/>
例5-137 プロパティ・マップでのweaving.changetrackingの使用
import org.eclipselink.persistence.config.PersistenceUnitProperties; propertiesMap.put (Persistence.Unit.Properties.WEAVING_CHANGETRACKING, value="false");
weaving.eager
eclipselink.weaving.eager
プロパティを使用して、即時リレーションシップについてTopLinkでインダイレクションを使用するかどうかを指定します。
値
表5-104は、この永続性プロパティの値を説明しています。
表5-104 weaving.eagerの有効値
値 | 説明 |
---|---|
|
即時リレーションシップについてウィービングによるインダイレクションを有効化します。 |
|
(デフォルト)即時リレーションシップについてウィービングによるインダイレクションを無効化します。 |
使用方法
1対1および多対1のマッピングは、FetchType.EAGER
を使用して構成されている場合でも、事実上遅延マッピングとなります。
この拡張機能は、weaving
がtrue
またはstatic
に構成されている場合にのみ使用できます。詳細は、「weaving」を参照してください。
例5-138 persistence.xmlでのweavingの使用
<property name="eclipselink.weaving.eager" value="true"/>
例5-139 プロパティ・マップでのweavingの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.WEAVING_EAGER, "true");
weaving.fetchgroups
eclipselink.weaving.fetchgroups
プロパティを使用して、ウィービングによるFetchGroups
を有効化します。有効化すると、ディスクリプタや問合せレベルのFetchGroups
に加えて、レイジー・ダイレクト・マッピングもサポートされます。
FetchGroups
を使用すると、オブジェクトの部分的な読取りおよび書込みが可能になります。フェッチされていない属性にアクセスすると、オブジェクトがリフレッシュ(完全にフェッチ)されます。
このプロパティは、ウィービングが有効の場合にのみ考慮されます。
値
表5-105は、この永続性プロパティの値を説明しています。
表5-105 weaving.fetchgroupsの有効値
値 | 説明 |
---|---|
|
(デフォルト)ウィービングによる |
|
ウィービングによる |
例5-140 persistence.xmlでのweaving.fetchgroupsの使用
<property name="eclipselink.weaving.fetchgroups value="false"/>
例5-141 プロパティ・マップでのweaving.fetchgroupsの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.WEAVING_FETCHGROUPS, "false")
weaving.internal
eclipselink.weaving.internal
プロパティを使用して、TopLinkでウィービングによる内部最適化を使用するかどうかを指定します。
値
表5-106は、この永続性プロパティの値を説明しています。
表5-106 weaving.internalの有効値
値 | 説明 |
---|---|
|
(デフォルト)ウィービングによる内部最適化を有効化します。 |
|
ウィービングによる内部最適化を無効化します。 |
例5-142 persistence.xmlでのweavingの使用
<property name="eclipselink.weaving.internal" value="false"/>
例5-143 プロパティ・マップでのweavingの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.WEAVING_INTERNAL, "false");
weaving.lazy
eclipselink.weaving.lazy
プロパティを使用して、TopLinkで1対1または多対1のレイジー・マッピングを使用するかどうかを指定します。
値
表5-107は、この永続性プロパティの値を説明しています。
表5-107 weaving.lazyの有効値
値 | 説明 |
---|---|
|
(デフォルト)ウィービングによる1対1および多対1マッピングを有効化します。 |
|
ウィービングによる1対1および多対1マッピングを無効化します。 |
例5-144 persistence.xmlでのweaving.lazyの使用
<property name="eclipselink.weaving.lazy" value="false"/>
例5-145 プロパティ・マップでのweaving.lazyの使用
import org.eclipse.persistence.config.PersistenceUnitProperties; propertiesMap.put (PersistenceUnitProperties.WEAVING_LAZY, "false");