プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.2.1.2.0)
E82670-01
  目次へ移動
目次

前
 
次
 

5 永続性プロパティの拡張機能リファレンス

この章では、永続性プロパティの拡張機能について説明します。また、永続性ユニットをJPA永続性ディスクリプタ・ファイルpersistence.xmlに構成します。EclipseLinkには、persistence.xmlファイルに構成可能な数多くの永続性プロパティの拡張機能が組み込まれています。

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

5.1 永続性プロパティの拡張機能の機能別リスト

次に、EclipseLinkの永続性プロパティ(persistence.xmlファイル)の拡張機能を機能別にカテゴリ化してリストします。

5.1.1 ウィービング

EclipseLinkには、ウィービング用に次の永続性プロパティの拡張機能が組み込まれています。

5.1.2 カスタマイザ

EclipseLinkには、ディスクリプタおよびセッションをカスタマイズするために、次の永続性プロパティの拡張機能が組み込まれています。

5.1.3 検証および最適化

EclipseLinkには、検証用に次の永続性プロパティの拡張機能が組み込まれています。

5.1.4 ロギング

EclipseLinkには、ロギング用に次の永続性プロパティの拡張機能が組み込まれています。

5.1.6 マッピング

EclipseLinkには、マッピング用に次の永続性プロパティの拡張機能が組み込まれています。

5.1.7 スキーマ生成

EclipseLinkには、マッピング用に次の永続性プロパティの拡張機能が組み込まれています。

5.2 永続性プロパティの拡張機能のアルファベット順リスト

次に、EclipseLinkの永続性プロパティ(persitence.xmlファイル)の拡張機能をアルファベット順にリストします。

application-location

eclipselink.application-locationプロパティを使用して、EclipseLinkによってDDLファイルが書き込まれる(出力される)ファイル・システム・ディレクトリを指定します。

表5-1は、この永続性プロパティの値を説明しています。

表5-1 application-locationの有効値

Value 説明

value

ディレクトリの場所。完全修飾されたパスを指定する必要があります。Windowsではバックスラッシュを使用します。UNIXではスラッシュを使用します。


使用方法

このオプションは、eclipselink.ddl-generation.output-modeの値がsql-scriptまたはbothの場合にのみ設定できます。

例5-1に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-1 persistence.xmlでのapplication-locationの使用

<property name="eclipselink.application-location" value="c:/YOURDIRECTORY/"/>

例5-2に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

チャネル名

キャッシュ・コーディネーションに使用するチャネル。同じチャネルを使用するすべての永続性ユニットがコーディネート対象です。

デフォルト: EclipseLinkCommandChannel


使用方法

同一ネットワーク上に複数のEclipseLinkデプロイメントが存在する場合は、それぞれ異なるチャネルを使用する必要があります。

例5-3に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-3 persistence.xmlでのapplication-locationの使用

<property name="eclipselink.cache.coordination.channel" value="EmployeeChannel" />

例5-4に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-4 プロパティ・マップでのcache.coordination.channelの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.CACHE_COORDINATION_CHANNEL,
"myChannel");

関連項目

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

  • 「@Cache」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.jms.factory

クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.factoryプロパティを使用して、JMSトピック・コネクション・ファクトリ名を構成します。

表5-3は、この永続性プロパティの値を説明しています。

表5-3 cache.coordination.jms.factoryの有効値

Value 説明

name

JMSトピック・コネクション・ファクトリ名

デフォルト: jms/EclipseLinkTopicConnectionFactory


使用方法

このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol = jmsの場合)。

このプロパティの使用方法の詳細は、例5-13を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.jms.host

クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.hostプロパティを使用して、トピックをホストするJMSサーバーのURLを構成します。

表5-4は、この永続性プロパティの値を説明しています。

表5-4 cache.coordination.jms.hostの有効値

Value 説明

url

JMSサーバーの完全修飾されたURL。

トピックがクラスタ全体にわたって分散されている(つまり、ローカルJNDIで検索できる)場合には不要です。


使用方法

このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol = jmsの場合)。完全修飾されたURLを使用する必要があります。

このプロパティの使用方法の詳細は、例5-13を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内の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の有効値

Value 説明

true

トピック・パブリッシャがキャッシュされます。

false

(デフォルト)トピック・パブリッシャはキャッシュされません。


使用方法

このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol = jmsの場合)。

このプロパティの使用方法の詳細は、例5-13を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.jms.topic

クラスタ環境にJMSコーディネーションを使用する場合、eclipselink.cache.coordination.jms.topicプロパティを使用して、JMSトピック名を設定します。

表5-6は、この永続性プロパティの値を説明しています。

表5-6 cache.coordination.jms.topicの有効値

Value 説明

name

JMSトピック名を設定します。

デフォルト: jms/EclipseLinkTopic


使用方法

このプロパティは、JMSコーディネーションに使用します(eclipselink.cache.coordination.protocol = jmsの場合)。

このプロパティの使用方法の詳細は、例5-13を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内の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の有効値

Value 説明

name

JNDI InitialContextファクトリの名前


使用方法

通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。

例5-5に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例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に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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");

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.jndi.password

クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.jndi.passwordプロパティを使用して、cache.coordination.jndi.userのパスワードを設定します。

表5-8は、この永続性プロパティの値を説明しています。

表5-8 cache.coordination.jndi.passwordの有効値

Value 説明

value

cache.coordination.jndi.userのパスワード。


使用方法

通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。

例5-7に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例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に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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");

関連項目

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

cache.coordination.jndi.user

クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.jndi.userプロパティを使用して、JNDIネーミング・サービス・ユーザーを設定します。

表5-9は、この永続性プロパティの値を説明しています。

表5-9 cache.coordination.jndi.userの有効値

Value 説明

value

JNDIユーザー。


使用方法

通常、ローカル・サーバーに接続する場合には、このプロパティは必要ありません。

このプロパティの使用方法の詳細は、例5-13を参照してください。

関連項目

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

cache.coordination.naming-service

クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.naming-serviceプロパティを使用して、使用するネーミング・サービスを指定します。

表5-10は、この永続性プロパティの値を説明しています。

表5-10 cache.coordination.naming-serviceの有効値

Value 説明

jndi

JNDIを使用します。

rmi

RMIを構成します。


使用方法

キャッシュ・コーディネーションを有効にする必要があります。

例5-9に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例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に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-10 プロパティ・マップでのcache.coordination.naming-serviceの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_NAMING_SERVICE,
"jndi");

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.propagate-asynchronously

eclipselink.cache.coordination.propagate-asynchronouslyプロパティを使用して、コーディネーションのブロードキャストが、コミットするスレッドと非同期で発生するかどうかを指定します。

このプロパティでは、クラスタ環境のキャッシュ・コーディネーションを構成します。コーディネーションのブロードキャストが、コミットするスレッドと非同期で発生するかどうかを設定します。つまり、スレッドがトランザクションのコミットから戻る前に、コーディネーションが完了します。

表5-11は、この永続性プロパティの値を説明しています。

表5-11 cache.coordination.propagate-asynchronouslyの有効値

Value 説明

true

(デフォルト) EclipseLinkは、ブロードキャストが非同期で行われます。コーディネーションは、スレッドがトランザクションのコミットから戻る前に完了します。

false

EclipseLinkでは、ブロードキャストが同期で行われます。


使用方法

この設定に関係なく、JMSキャッシュ・コーディネーションは常に非同期です。

デフォルトでは、RMIキャッシュ・コーディネーションは非同期です。要求が返される前にすべてのサーバーが更新されるようにするには、同期(eclipselink.cache.coordination.propagate-asynchronously = false)を使用します。

例5-11に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-11 persistence.xmlでのcache.coordination.propagate-asynchronouslyの使用

<property name="eclipselink.cache.coordination.propagate-asynchronously"
value="false" />

例5-12に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-12 プロパティ・マップでのcache.coordination.propagate-asynchronouslyの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put
(PersistenceUnitProperties.CACHE_COORDINATION_PROPAGATE_ASYNCHRONOUSLY,
"false");

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.protocol

eclipselink.cache.coordination.protocolプロパティを使用して、使用するキャッシュ・コーディネーション・プロトコルを指定します。各ディスクリプタのキャッシュ構成に応じて、クラスタに対するキャッシュの更新または挿入がブロードキャストされ、各セッションのキャッシュが更新または無効化されます。

表5-12は、この永続性プロパティの値を説明しています。

表5-12 cache.coordination.protocolの有効値

Value 説明

jms

Java Message Service (JMS)を使用して、変更をブロードキャストします。

jms-publishing

使用予定のEJB MessageDrivenBeanを使用して、変更をブロードキャストします。MessageDrivenBeanを個別に構成する必要があります。

rmi

Java Remote Method Invocation (RMI)を使用して、変更をブロードキャストします。

rmi-iiop

RMI over Internet Inter-ORB Protocol (IIOP)を使用して、変更をブロードキャストします。

ClassName

TransportManager抽象クラスのサブクラス実装の名前。


使用方法

クラスタ内のすべての永続性ユニットおよびセッションについて、cache.coordination.protocolを指定する必要があります。

例5-13に、persistence.xmlファイルでJMSキャッシュ・コーディネーションを構成する方法を示します。

例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="welcome1" />

例5-14に、persistence.xmlファイルでRMIキャッシュ・コーディネーションを構成する方法を示します。

例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="welcome1" />

デフォルトでは、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" />

cache.coordination.remove-connection-on-error

eclipselink.cache.coordination.remove-connection-on-errorプロパティを使用して、キャッシュ・コーディネーション中にEclipseLinkで通信エラーが発生した場合、接続を削除するかどうかを指定します。

表5-13は、この永続性プロパティの値を説明しています。

表5-13 cache.coordination.remove-connection-on-errorの有効値

Value 説明

true

通信エラーが発生した場合、接続が削除されます。サーバーが使用可能になると、EclipseLinkは再接続されます。

false

(デフォルト)通信エラーが発生しても接続は削除されません。


使用方法

通常、サーバーが停止した場合に、RMI接続に使用されます。

例5-15に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-15 peristence.xmlでのcache.coordination.remove-connection-on-errorの使用

<property name="eclipselink.cache.coordination.remove-connection-on-error"
value="true"/>

例5-16に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-16 プロパティ・マップでのcache.coordination.remove-connection-on_errorの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put
(PersistenceUnitProperties.CACHE_COORDINATION_REMOVE_CONNECTION_ON_ERROR,"true");

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.rmi.announcement-delay

eclipselink.cache.coordination.rmi.announcement-delayプロパティを使用して、起動時に他のクラスタ・メンバーからの通知を待機する時間(ミリ秒単位)を設定します。

表5-14は、この永続性プロパティの値を説明しています。

表5-14 cache.coordination.rmi.announcement-delayの有効値

Value 説明

数値

起動時に、通知を待機する時間(ミリ秒単位)

デフォルト: 1000


使用方法

このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol = rmiの場合)。

このプロパティの使用方法の詳細は、例5-14を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.rmi.multicast-group

クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.rmi.multicast-groupプロパティを使用して、(クラスタの他のメンバーを検索するのに使用する)マルチキャスト・ソケット・グループのアドレスを設定します。

表5-15は、この永続性プロパティの値を説明しています。

表5-15 cache.coordination.rmi.multicast-groupの有効値

Value 説明

数値

マルチキャスト・ソケット・グループのアドレスを設定します。

デフォルト: 239.192.0.0


使用方法

このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol = rmiの場合)。

このプロパティの使用方法の詳細は、例5-14を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.rmi.multicast-group.port

クラスタ環境にキャッシュ・コーディネーションを使用する場合、eclipselink.cache.coordination.rmi.multicast-groupプロパティを使用して、(クラスタの他のメンバーを検索するのに使用する)マルチキャスト・ソケット・グループのポートを設定します。

表5-16は、この永続性プロパティの値を説明しています。

表5-16 cache.coordination.rmi.multicast-group.portの有効値

Value 説明

数値

マルチキャスト・ソケット・グループのポートを設定します。

デフォルト: 3121


使用方法

このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol = rmiの場合)。

このプロパティの使用方法の詳細は、例5-14を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内の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の有効値

Value 説明

数値

セッション通知データ・パケットが失効するまでに通過するホップ数

デフォルト: 2


使用方法

WANに含まれる別々のLANでセッションがホストされている場合は、あるセッションによって送信された通知が他のセッションに到達しないことがあります。この場合は、適切な存続時間の値についてネットワーク管理者に問い合せるか、他のセッションによって送信された通知が各セッションで受信されるまで値を増やすことによって、ネットワークをテストしてください。

このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol = rmiの場合)。

このプロパティの使用方法の詳細は、例5-14を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.rmi.url

eclipselink.cache.coordination.rmi.urlプロパティを使用して、ホスト・サーバーのURLを設定します。このURLは、他のクラスタ・メンバーがこのホストに接続するときに使用されます。

表5-18は、この永続性プロパティの値を説明しています。

表5-18 cache.coordination.rmi.urlの有効値

Value 説明

url

ホスト・サーバーのURL

デフォルト: local


使用方法

このプロパティは、RMIコーディネーションに使用します(eclipselink.cache.coordination.protocol = rmiの場合)。

これは、クラスタ環境でJNDIがレプリケートされる場合には不要である可能性があります。また、場所をシステム・プロパティとして設定するか、SessionCustomizerを使用して設定すると、サーバーごとに個別のpersistence.xmlファイルを使用する必要がなくなります。

このプロパティの使用方法の詳細は、例5-14を参照してください。

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.coordination.thread.pool.size

eclipselink.cache.coordination.thread.pool.sizeプロパティを使用して、キャッシュ・コーディネーション・スレッドのための、スレッド・プールのサイズを構成します。

表5-19は、この永続性プロパティの値を説明しています。

表5-19 cache.coordination.thread.pool.sizeの有効値

Value 説明

数値

スレッド・プールのサイズ。0の場合、EclipseLinkではスレッド・プールを使用するかわりに、必要に応じてスレッドを生成します。

デフォルト: 32


使用方法

RMIキャッシュ・コーディネーションの場合、EclipseLinkでは、変更通知を送信するためにノードごとに1つのスレッドを生成し、新規ノード通知をリスニングするために1つのスレッドを生成します。

JMSキャッシュ・コーディネーションの場合、EclipseLinkでは、JMS変更通知メッセージを受信するために1つのスレッドを生成し(MDBが使用されていない場合)、変更通知を処理するために1つのスレッドを生成します(MDBが使用されていない場合)。

例5-17に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-17 persistence.xmlでのcache.coordination.thread.pool.sizeの使用

<property name="eclipselink.cache.coordination.thread.pool.size" 
value="48"/>

例5-18に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-18 プロパティ・マップでのcache.coordination.thread.pool.sizeの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.CACHE_COORDINATION_THREAD_POOL_SIZE,
"48");

関連項目

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

  • 「cache.coordination.protocol」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

cache.database-event-listener

eclipselink.cache.database-event-listenerプロパティを使用して、EclipseLinkとOracle QCN/DCN (問合せ変更通知/データベース変更通知)などのデータベース・イベント通知サービスを統合します。

表5-20は、この永続性プロパティの値を説明しています。

表5-20 cache.database-event-listenerの有効値

Value 説明

クラス

OracleChangeNotificationListener (org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationListener)などの、DatabaseEventListenerを実装するクラス名。

Oracle用にDCNおよびQCNを使用することもできます。


使用方法

このプロパティを使用すると、データベース変更イベント、トリガー、またはその他のサービスによるEclipseLinkキャッシュの無効化を許可できます。

例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>

関連項目

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

  • 「@Cache」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

  • Oracle Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理のデータベース変更通知に関する項

cache.shared

eclipselink.cache.sharedプロパティ接頭辞を使用して、エンティティのキャッシュを共有する(非独立キャッシュにする)かどうかを指定します。

表5-21は、この永続性プロパティ接頭辞の値を説明しています。

表5-21 cache.sharedの有効値

Value 説明

true

(デフォルト)エンティティのキャッシュが共有されます。値の大/小文字は区別されません。

false

エンティティのキャッシュは共有されません。値の大/小文字は区別されません。


使用方法

有効なエンティティ名またはクラス名をclass.sharedに追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.sharedプロパティ接頭辞にdefault接尾辞を追加してプロパティ名を形成し、そのプロパティ名がデフォルトですべてのエンティティに設定されるようにすることもできます。

このプロパティの使用方法の詳細は、例2-12を参照してください。

cache.size

eclipselink.cache.sizeプロパティ接頭辞を使用して、特定のエンティティ・タイプのキャッシュ・サイズを指定します。

表5-22は、この永続性プロパティ接頭辞の値を説明しています。

表5-22 cache.sizeの有効値

Value 説明

整数

キャッシュのサイズ。デフォルト: 100バイト。


使用方法

有効なエンティティ名またはクラス名をcache.sizeに追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.sizeプロパティ接頭辞にdefault接尾辞を追加して、そのプロパティ値がすべてのエンティティに適用されることを示すこともできます。

ほとんどのキャッシュ・タイプの場合、サイズは固定サイズや最大サイズではなく、初期サイズにすぎません。CacheType.SoftCacheタイプおよびCacheType.HardCacheのサイズは、サブキャッシュ・サイズです。デフォルトのキャッシュ・サイズは100バイトです。

このプロパティの使用方法の詳細は、例2-12を参照してください。

cache.type

eclipselink.cache.typeプロパティ接頭辞を使用して、キャッシュのタイプを設定します。

表5-23は、この永続性プロパティ接頭辞の値を説明しています。

表5-23 cache.typeの有効値

Value 説明

Weak

アプリケーションで使用中のすべてのオブジェクトが保持されます。参照されていないオブジェクトは解放され、ガベージ・コレクションの対象になります。このキャッシュ・タイプでは、オブジェクト識別性が保証され、ガベージ・コレクションが最適化されますが、キャッシュの利点はほとんど得られません。

Soft

アプリケーションで読み取られたすべてのオブジェクトが保持されます。参照されていないオブジェクトは、メモリー残量が低下しているとJVMが判断した場合にのみ、ガベージ・コレクションの対象として解放されます。このキャッシュ・タイプでは、オブジェクト識別性が保証され、メモリー残量の低下時にガベージ・コレクションが行われます。キャッシュの利点を最適に利用できます。

SoftWeak

(デフォルト)アプリケーションで読み取られたすべてのオブジェクトおよびSoft参照を使用しているMRUオブジェクトの固定サイズのサブキャッシュが保持されます。SoftWeakキャッシュでは、サブキャッシュ外の参照されていないオブジェクトがガベージ・コレクションの対象として解放されます。サブキャッシュ内のオブジェクトは、メモリー残量が低下しているとJVMが判断した場合にのみガベージ・コレクションの対象として解放されます。このキャッシュ・タイプでは、オブジェクト識別性が保証され、構成可能なガベージ・コレクションを使用できます。また、構成可能なキャッシュの利点を利用できます。

HardWeak

アプリケーションで使用中のすべてのオブジェクトおよび通常のHard参照を使用しているMRUオブジェクトの固定サイズのサブキャッシュが保持されます。このタイプでは、サブキャッシュ外の参照されていないオブジェクトはガベージ・コレクションの対象として解放されますが、サブキャッシュ内のオブジェクトは解放されません。このキャッシュ・タイプでは、オブジェクト識別性が保証され、構成可能なガベージ・コレクションを使用できます。また、構成可能なキャッシュの利点を利用できます。

Full

アプリケーションで読み取られたすべてのオブジェクトが保持されます。このキャッシュ・タイプでは、ガベージ・コレクションは行われません。このタイプでは、オブジェクト識別性が保証され、ガベージ・コレクションは行われません。キャッシュの利点を完全に利用できます。

警告: このキャッシュ・タイプは、一定数のオブジェクトにのみ使用してください。そうでない場合、最終的にメモリー・リークが発生します。

NONE

いずれのオブジェクトもキャッシュされません。参照されていないオブジェクトはガベージ・コレクションの対象として解放されます。このタイプでは、オブジェクト識別性は提供されず、ガベージ・コレクションが完全に行われます。キャッシュの利点は得られません。

警告: このキャッシュ・タイプは、通常は使用しないでください。かわりに、PersistenceUnitProperties.CACHE_SHAREDによって共有キャッシュを無効化します。オブジェクトを識別できないため、オブジェクトに循環参照があり、インダイレクションがない場合は、無限ループが発生する可能性があります。


使用方法

有効なエンティティ名またはクラス名をclass.typeに追加してプロパティ名を形成し、プロパティ値が特定のエンティティにのみ適用されることを示します。または、cache.type接頭辞にdefault接尾辞を追加してプロパティ名を形成し、そのプロパティ名がデフォルトですべてのエンティティに設定されるようにすることもできます。

cache.typeプロパティの有効値は、CacheTypeクラスで宣言されます。デフォルトはSoftWeakです。

キャッシュ・エンティティが不要の場合は、cache.sharedプロパティを設定します。

このプロパティの使用方法の詳細は、例2-12を参照してください。

関連項目

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

classloader

eclipselink.classloaderプロパティを使用して、Persistence.createEntityManagerFactoryに渡すプロパティ・マップに、EntityMangerFactoryを作成します。

表5-24は、この永続性プロパティの値を説明しています。

表5-24 classloaderの有効値

Value 説明

value

使用するクラス・ローダー。


使用方法

これは、実行時にプロパティ・マップに設定する必要がある動的プロパティです。このプロパティを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の有効値

Value 説明

true

永続性ユニットはコンポジット永続性ユニットです

false

(デフォルト) 永続性ユニットはコンポジット永続性ユニットではありません


使用方法

このプロパティは、コンポジット永続性ユニットの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>

関連項目

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

composite-unit.member

eclipselink.composite-unit.memberプロパティを使用して、永続性ユニットがコンポジット永続性ユニットのメンバーであるかどうかを指定します。

表5-26は、この永続性プロパティの値を説明しています。

表5-26 composite-unit.memberの有効値

Value 説明

true

永続性ユニットはコンポジット永続性ユニットのメンバーである必要があり、単独の永続性ユニットとしては使用できません。

false

(デフォルト)永続性ユニットは、コンポジット永続性ユニットのメンバーである必要はありません。


使用方法

このプロパティを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の有効値

Value 説明

プロパティのマップ

永続性ユニットに渡すプロパティ。キーとして永続性ユニットの名前を使用します。


使用方法

このプロパティをコンポジット永続性ユニットの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の有効値

Value 説明

initial

開始時(初期)の接続数。

min

最小接続数。

max

最大接続数。

wait

プールからの接続を待機する時間(ミリ秒単位)。

url

接続用のJDBCのURL。

shared

読取り接続プールについて、読取り接続がスレッド間で共有されることを示します。

jtaDataSource

接続に使用するJTAデータ・ソース名(デフォルトと異なる場合)。

nonJtaDataSource

接続に使用する非JTAデータ・ソース名(デフォルトと異なる場合)。

user

この接続に使用するユーザー名(デフォルトと異なる場合)。

password

この接続用のuserのパスワード(デフォルトと異なる場合)。


使用方法

接続プール名および構成するプロパティを追加します。接続プールが指定されている場合、EclipseLinkではデフォルトの(書込み)プールが構成されます。

例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"/>

関連項目

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

connection-pool.read

eclipselink.connection-pool.readプロパティを使用して、非トランザクション読取り問合せ用の読取り接続プールを構成します。

表5-29は、この永続性プロパティの値を説明しています。

表5-29 connection-pool.readの有効値

Value 説明

initial

開始時(初期)の接続数。

min

最小接続数。

max

最大接続数。

wait

プールからの接続を待機する時間。

url

JDBC接続のURL。

shared

読取り接続プールについて、読取り接続がスレッド間で共有されることを示します。

jtaDataSource

接続に使用するJTAデータ・ソース名(デフォルトと異なる場合)。

nonJtaDataSource

接続に使用する非JTAデータ・ソース名(デフォルトと異なる場合)。

user

この接続に使用するユーザー名(デフォルトと異なる場合)。

password

この接続用のuserのパスワード(デフォルトと異なる場合)。


使用方法

デフォルトで、EclipseLinkでは、読取り問合せにデフォルト・プールが使用され、独立した読取り接続プールは使用されません

例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"/>

関連項目

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

  • EclipseLinkの理解の接続プールに関する項

  • EclipseLinkソリューション・ガイドの接続プーリングに関する項

  • 「connection-pool」

connection-pool.sequence

eclipselink.connection-pool.sequenceプロパティを使用して、生成されたIDを接続プールによって割り当てます。

表5-30は、この永続性プロパティの値を説明しています。

表5-30 connection-pool.sequenceの有効値

Value 説明

true

データ・ソースからの接続をプールする際に内部接続プールを使用します。

false

(デフォルト)データ・ソースからの接続をプールする際に内部接続プールを使用しません。


使用方法

これは、TABLEの順序付けにのみ必要となります。デフォルトで、EclipseLinkでは、順序付けにはデフォルト・プールが使用され、独立したシーケンス接続プールは使用されません

例5-26に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-26 persistence.xmlでのconnection-pool.sequenceの使用

<property name="eclipselink.connection-pool.sequence" value="true"/>

関連項目

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

  • EclipseLinkの理解の接続プールに関する項

  • EclipseLinkソリューション・ガイドの接続プーリングに関する項

  • 「connection-pool」

create-ddl-jdbc-file-name

eclipselink.create-ddl-jdbc-file-nameプロパティを使用して、EclipseLinkによって生成された、JPAエンティティの表を作成するSQL文を含むDDLファイルの名前を指定します。

表5-31は、この永続性プロパティの値を説明しています。

表5-31 create-ddl-jdbc-file-nameの有効値

Value 説明

ファイル名

オペレーティング・システムに有効なファイル名。

eclipselink.application-locationeclipselink.create-ddl-jdbc-file-nameの連結が、使用するオペレーティング・システムに有効である場合は、ファイル名に接頭辞としてファイル・パスを付加できます。


使用方法

eclipselink.ddl-generationcreate-tablesまたはdrop-and-create-tablesに設定されている場合、EclipseLinkでは、eclipselink.application-locationによって指定された場所に、このファイルが書き込まれます。

このプロパティの使用方法の詳細は、例5-27を参照してください。

関連項目

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

ddl-generation

eclipselink.ddl-generationプロパティを使用して、EclipseLinkでデプロイメント時にデータベース・スキーマ(表および制約)用にデータ定義言語(DDL)を生成する方法を指定します。

表5-32は、この永続性プロパティの値を説明しています。

表5-32 ddl-generationの有効値

Value 説明

create-tables

EclipseLinkでは、表ごとにCREATE TABLE SQLの実行が試行されます。

この表がすでに存在する場合、EclipseLinkは、特定のデータベースとJDBCドライバの組合せに応じたデフォルトの動作に従います(CREATE TABLE SQLが既存の表について発行された場合)。ほとんどの場合、例外がスローされ、表は作成されず、既存の表が使用されます。その後、EclipseLinkでは、次の文の処理に進みます。

create-or-extend-tables

EclipseLinkによって、表の作成が試行されます。表が存在する場合は、EclipseLinkによって、欠落しているすべての列が追加されます。

drop-and-create-tables

EclipseLinkによって、すべての表のDROPが試行された後、すべての表のCREATEが試行されます。なんらかの問題が発生した場合、EclipseLinkでは、特定のデータベースとJDBCドライバの組合せに応じたデフォルト動作に従った後、次の文の処理に進みます。

このことは、開発においてスキーマが頻繁に変更される場合、または、テストにおいて既存データを消去する必要がある場合に役立ちます。

注意: drop-and-createを使用すると、表を削除したときに表内のすべてのデータが削除されます。データベース内に重要なデータが存在する本番スキーマでは、このオプションを使用しないでください。スキーマが大幅に変更された場合は、古い制約がデータベース内に存在することによって、古い表を削除できないことがあります。このことによって、別のメカニズムを使用して、古いスキーマを削除することが必要となる場合があります。

none

(デフォルト) 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ファイルでこのプロパティを使用する方法を示します。

例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に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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がEclipseLinkによってどこに生成および書き込まれるかを指定します。

表5-33は、この永続性プロパティの値を説明しています。

表5-33 ddl-generation.output-modeの有効値

Value 説明

both

DDLは、データベースとファイルの両方に生成および書き込まれます。

database

(デフォルト) DDLは、データベースにのみ生成および書き込まれます。

sql-script

DDLは、ファイルにのみ生成および書き込まれます。


使用方法

ddl-generation.output-modeは、ddl-generationを使用する場合にのみ使用できます。これにより、他のプロパティを最適に設定できます。

このプロパティの使用方法の詳細は、例5-27を参照してください。

関連項目

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

ddl.table-creation-suffix

eclipselink.ddl.table-creation-suffixプロパティを使用して、生成されたCREATE Table文の最後に文字列を追加します。

表5-34は、この永続性プロパティの値を説明しています。

表5-34 ddl-generation.table-creation-suffixの有効値

Value 説明

value

接尾辞の名前。


使用方法

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の有効値

Value 説明

true

EntityManagerの作成時(通常はJava EEコンテナまたはサーブレット・コンテナへのデプロイ時)に、永続性ユニットが作成されます。

false

(デフォルト)最初の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の有効値

Value 説明

name

DescriptorCustomizerを実装するクラスのフルネーム。


使用方法

複数のディスクリプタ・カスタマイザを使用することはできません。

例5-31に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-31 persistence.xmlでのdescriptor.customizerの使用

<property name="eclipselink.descriptor.customizer.Order" 
value="acme.sessions.MyDesriptorCustomizer"/>

例5-32に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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プロパティを使用して、EclipseLinkによって生成された、JPAエンティティの表を削除するSQL文を含むDDLファイルの名前を指定します。

表5-37は、この永続性プロパティの値を説明しています。

表5-37 drop-ddl-jdbc-file-nameの有効値

Value 説明

ファイル名

オペレーティング・システムに有効なファイル名。

eclipselink.application-locationeclipselink.create-ddl-jdbc-file-nameの連結が、使用するオペレーティング・システムに有効である場合は、ファイル名に接頭辞としてファイル・パスを付加できます。


使用方法

eclipselink.ddl-generationcreate-tablesに設定されている場合、EclipseLinkでは、eclipselink.application-locationによって指定された場所にこのファイルが書き込まれます

このプロパティの使用方法の詳細は、例5-27を参照してください。

関連項目

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

exception-handler

eclipselink.exception-handlerプロパティを使用して、EclipseLink例外ハンドラ・クラス、すなわちorg.eclipse.persistence.exceptions.ExceptionHandlerインタフェースを実装し、デフォルトの(ゼロ引数)コンストラクタを提供する例外ハンドラ・クラスを指定します。このクラスは、デフォルトの引数を使用しないコンストラクタを提供する必要があります。

表5-38は、この永続性プロパティの値を説明しています。

表5-38 exception-handlerの有効値

Value 説明

ExceptionHandler class

java.lang.RuntimeExceptionを値として使用するこのクラスのhandleExceptionメソッドを使用して、次のことを行います。

  • 例外の再スロー

  • 別の例外のスロー

  • 問合せまたはデータベース操作の再試行


使用方法

ExceptionHandlerクラス名は、そのパッケージ名で完全修飾されている必要があります。

例5-33に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-33 persistence.xmlでのexception-handlerの使用

<property name="eclipselink.exception-handler" 
value="my.package.MyExceptionHandler">

例5-34に、プロパティ・マップでこの拡張機能を使用する方法を示します。

例5-34 プロパティ・マップでのexception-handlerの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.EXCEPTION_HANDLER_CLASS, 
"my.package.MyExceptionHandler"); 

関連項目

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

  • 「orm.throw.exceptions」

  • EclipseLinkの理解のセッションに関する項

  • EclipseLinkソリューション・ガイドの問題の管理および診断に関する項

exclude-eclipselink-orm

eclipselink.exclude-eclipselink-ormプロパティを使用して、特定の永続性ユニットについてEclipseLink ORMマッピング・ファイルを除外します。

表5-39は、この永続性プロパティの値を説明しています。

表5-39 exclude-eclipselink-ormの有効値

Value 説明

true

eclipselink-orm.xmlファイルは使用されません。

false

(デフォルト) EclipseLinkでは、eclipselink-orm.xmlファイルが使用されます。


使用方法

デフォルトでは、リソース名META-INF/eclipselink-orm.xmlで最初に見つかったファイルが処理され、注釈および標準マッピング・ファイルに指定された構成がオーバーライドされます。

例5-35に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-35 persistence.xmlでのexclude-eclipselink-ormの使用

<property name="eclipselink.exclude-eclipselink-orm" value="true"/>

関連項目

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

  • EclipseLinkの理解のEclipseLinkプロジェクトのビルディング・ブロックに関する項

  • EclipseLinkソリューション・ガイドの外部メタデータ・ソースの使用に関する項

flush-clear.cache

eclipselink.flush-clear.cacheプロパティを使用して、flushメソッドに続いてclearメソッドが実行された場合のEclipseLink EntityManagerキャッシュの動作を指定します。

表5-40は、この永続性プロパティの値を説明しています。

表5-40 flush-clear.cacheの有効値

Value 説明

ドロップ

EclipseLinkによって、EntityManagerキャッシュ全体が削除されます。

これは最速のモードであり、メモリーの使用は最小となりますが、コミットを実行した後、共有キャッシュに含まれるデータが失効する可能性があります。

DropInvalidate

(デフォルト) EclipseLinkによって、EntityManagerキャッシュ全体が削除されます。コミットを実行した後、更新または削除されたオブジェクトが少なくとも1つ含まれるクラスは、共有キャッシュで無効になります。

このモードはDropよりも低速になりますが、(メモリーの使用量という点では)効率的であり、データの失効が回避されます。

Merge

EclipseLinkによって、EntityManagerキャッシュの、フラッシュされていないオブジェクトが削除されます。

このモードでは、コミットを実行した後、共有キャッシュが完全な状態に維持されますが、メモリー効率は最も低下します。非常に大規模なトランザクションでは、メモリーが不足する場合があります。


使用方法

このプロパティは、EntityManagerFactoryを作成するときに(createEntityManagerFactoryメソッドに渡すマップやpersistence.xmlファイルに)指定するか、またはEntityManagerを作成するときに(createEntityManagerメソッドに渡すマップに)指定できます。

前者は後者によってオーバーライドされることに注意してください。

例5-36に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-36 persistence.xmlでのflush-clear.cacheの使用

<property name="eclipselink.flush-clear.cache" value="Drop"/>

例5-37に、プロパティ・マップでこの拡張機能を使用する方法を示します。

例5-37 プロパティ・マップでのflush-clear.cacheの使用

import org.ecliplse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.FLUSH_CLEAR_CACHE,
FlushClearCache.Drop);

関連項目

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

  • 「@Cache」

  • EclipseLinkの理解のキャッシュ・コーディネーションに関する項

  • EclipseLinkソリューション・ガイドのクラスタ内のTopLinkアプリケーションのスケーリングに関する項

id-validation

eclipselink.id-validationプロパティを使用して、値を無効とみなす主キーのコンポーネントを定義します。

表5-41は、この永続性プロパティの値を説明しています。

表5-41 id-validationの有効値

Value 説明

Negative

Numberを拡張しているIDおよびプリミティブ型のintlongのIDには、Null0および負の値は無効です。

None

EclipseLinkによるID検証は実行されません。

Null

Nullは無効ですが、他のすべての値は有効です。

Zero

プリミティブ型のintlongのIDには、Null0および負の値は無効です。


使用方法

アイデンティティおよび順序付け(shouldAlwaysOverrideExistingValuetrueとして構成)は、既存のすべてのID値をオーバーライドします。

例5-38に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-38 persistence.xmlでのid-validationの使用

<property name="eclipselink.id-validation" value="NULL"/> 

関連項目

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

  • EclipseLinkの理解のオブジェクトの永続化に関する項

  • 「@PrimaryKey」

jdbc.allow-native-sql-queries

eclipselink.jdbc.allow-native-sql-queriesプロパティを使用して、ユーザー定義(つまりネイティブ)のSQLを永続性ユニット内で許可するかどうかを指定します。

表5-42は、この永続性プロパティの値を説明しています。

表5-42 jdbc.allow-native-sql-queriesの有効値

Value 説明

true

(デフォルト) EclipseLinkでネイティブSQLを使用できます。

false

EclipseLinkでネイティブSQLを使用できません。


使用方法

マルチテナント内で、マルチテナント情報の公開による潜在的な影響を最小限に抑えるには、このオプションを使用します。デフォルトでは、永続性ユニットにマルチテナント・エンティティが含まれる場合、EclipseLinkではeclipselink.jdbc.allow-native-sql-queriesfalseとして設定されます。

例5-39に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-39 persistence.xmlでのjdbc.allow-native-sql-queriesの使用

<property name="eclipselink.jdbc.allow-native-sql-queries" value="false" />

関連項目

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

  • EclipseLinkの理解の問合せに関する項

jdbc.batch-writing

eclipselink.jdbc.batch-writingプロパティを使用してバッチ書込みを構成し、複数の書込み機能によってトランザクションが最適化されるようにします。

表5-43は、この永続性プロパティの値を説明しています。

表5-43 jdbc.batch-writingの有効値

Value 説明

jdbc

JDBCバッチ書込みを使用します。

buffered

JDBCバッチ書込みおよびプラットフォームのネイティブ・バッチ書込みを使用しません。

oracle-jdbc

Oracleプラットフォームのネイティブ・バッチ書込みを使用します。プロパティ・マップでは、OracleJDBCを使用します。

注意: このことには、Oracle JDBCドライバが必要となります。

custom-class

BatchWritingMechanismクラスを拡張するカスタム・クラス。

none

(デフォルト)バッチ書込みを使用しません(つまり、オフにします)。


使用方法

バッチ書込みを使用すると、複数の異機種間の動的SQL文を、1つの実行としてデータベースに送信することや、複数の異機種間のパラメータ化されたSQL文を、1つのバッチ実行として実行できます。


注意:

すべてのJDBCドライバやデータベースがバッチ書込みをサポートしているとはかぎりません。

eclipselink.jdbc.batch-writing.sizeを使用して、バッチ・サイズを指定します。

例5-40に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-40 persistence.xmlでのjdbc.batch-writingの使用

<property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC"/>

例5-41に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

バッチ・サイズ

パラメータ化されたバッチ書込みの場合、この値にはバッチにする文の数を指定します(デフォルト: 100)。

動的バッチ書込みの場合、この値にはバッチにするSQLバッファのサイズを指定します(デフォルト: 32k)。


例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の有効値

Value 説明

true

内部での文のキャッシングを有効にします。

false

(デフォルト)内部での文のキャッシングを無効にします。


使用方法

このプロパティは、EclipseLinkの内部接続プーリングを使用する場合に使用する必要があります。詳細は、「connection-pool」を参照してください。

例5-43に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-43 persistence.xmlでのjdbc.cache-statementsの使用

<property name="eclipselink.jdbc.cache-statements" value="false"/>
 

例5-44に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-44 プロパティ・マップでのjdbc.cache-statementsの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS, "false");

関連項目

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

jdbc.cache-statements.size

eclipselink.jdbc.cache-statements.sizeプロパティを使用して、内部での文のキャッシングを使用する場合に保持する文の数を指定します。

表5-46は、この永続性プロパティの値を説明しています。

表5-46 jdbc.cache-statements.sizeの有効値

Value 説明

size

正の整数またはゼロを含む文字列値(デフォルト: 50)。

最大値は、使用するJDBCドライバに応じて変わる可能性があります。


例5-45に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-45 persistence.xmlでのjdbc.cache-statements.sizeの使用

<property name="eclipselink.jdbc.cache-statements.size" value="100"/>

例5-46に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-46 プロパティ・マップでのjdbc.cache-statements.sizeの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS_SIZE, "100");

関連項目

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

jdbc.connector

eclipselink.jdbc.connectorプロパティを使用して、データベースに接続するカスタム・コネクタを定義します。

表5-47は、この永続性プロパティの値を説明しています。

表5-47 jdbc.connectorの有効値

Value 説明

完全修飾クラス名

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プロパティを使用して、EclipseLinkで書込み接続の遅延取得を行うかどうかを指定します。

表5-48は、この永続性プロパティの値を説明しています。

表5-48 jdbc.exclusive-connection.is-lazyの有効値

Value 説明

true

(デフォルト)書込み接続を遅延取得します。

false

書込み接続を遅延取得しません。


例5-48に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-48 persistence.xmlでのjdbc.exclusive-connection.is-lazyの使用

<property name="eclipselink.jdbc.exclusive-connection.is-lazy" value="false"/>

例5-49に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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プロパティを使用して、EclipseLinkでいつ書込み接続による読取りを実行するかを指定します。

表5-49は、この永続性プロパティの値を説明しています。

表5-49 jdbc.exclusive-connection.modeの有効値

Value 説明

Transactional

(デフォルト)一部またはすべてのエンティティで独立キャッシュが必要な場合には独立クライアント・セッションを作成し、それ以外の場合にはクライアント・セッションを作成します。

注意:

  • EclipseLinkでは、トランザクションの継続期間中、接続を排他的に維持します。

  • トランザクション内部では、EclipseLinkによって、すべての書込みおよび読取りが排他接続を介して実行されます。

  • EclipseLinkトランザクション外部では、読取りごとに新しい接続が接続プールから取得され、問合せが実行されると即時に解放されます。

Isolated

独立エンティティを読み取る場合には排他独立クライアント・セッションを作成し、それ以外の場合にはエラーが発生します。

注意:

  • EclipseLinkでは、所有するEntityManagerの存続期間中、接続を排他的に維持します。

  • トランザクション内部では、EclipseLinkによって、すべての書込みおよび読取りが排他接続を介して実行されます。

  • EclipseLinkトランザクション外部では、独立エンティティのみが排他接続によって読み取られます。非独立エンティティの場合、EclipseLinkでは、読取りごとに新しい接続が接続プールから取得され、問合せが実行されると即時に接続が解放されます。

Always

独立エンティティを読み取る場合には排他独立クライアント・セッションを作成し、それ以外の場合には排他クライアント・セッションを作成します。

注意: EclipseLinkでは、所有するEntityManagerの存続期間中、接続を排他的に維持し、すべての書込みおよび読取りを排他接続を介して実行します。


使用方法

このプロパティは、EntityManagerFactoryを作成するときに(createEntityManagerFactoryメソッドに渡すマップまたはpersistence.xmlファイルのいずれかに)設定するか、またはEntityManagerを作成するときに(createEntityManagerメソッドに渡すマップに)設定できます。前者は後者によってオーバーライドされることに注意してください。

例5-50に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-50 persitence.xmlでのjdbc.exclusive-connection.modeの使用

property name="eclipselink.jdbc.exclusive-connection.mode" value="Always"/>
 

例5-51に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-51 プロパティ・マップでのjdbc.exclusive-connection.modeの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.EXCLUSIVE_CONNECTION_MODE, "Always");

関連項目

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

jdbc.native-sql

eclipselink.jdbc.native-sqlプロパティを使用して、EclipseLinkで汎用SQLを使用するか、またはプラットフォーム固有(つまりネイティブ)のSQL文を組み込むかを指定します。

表5-50は、この永続性プロパティの値を説明しています。

表5-50 jdbc.native-sqlの有効値

Value 説明

true

(デフォルト)プラットフォーム固有(ネイティブ)のSQLを使用します。

false

汎用SQLを使用します。


使用方法

プラットフォーム固有のSQLを使用する(eclipselink.jdbc.native-sql = true)場合、EclipseLinkでは、プラットフォーム固有のSQLを使用して、結合構文、日付演算子、順序付けの使用などをカスタマイズします。

例5-52に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-52 persistence.xmlでのjdbc.native-sqlの使用

<property name="eclipselink.jdbc.native-sql" value="false"/>

例5-53に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-53 プロパティ・マップでのjdbc.native-sqlの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.NATIVE_SQL, "false");

関連項目

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

  • EclipseLinkの理解の問合せに関する項

  • EclipseLinkの理解の問合せ言語に関する項

jdbc.property

eclipselink.jdbc.property接頭辞を使用して、JDBCドライバ固有の接続プロパティをEclipseLinkに渡します。

使用方法

JDBCドライバ固有のプロパティ名をこのプロパティの接頭辞に追加します。

例5-54に、persistence.xmlファイルでこのプロパティ接尾辞を使用する方法を示します。

例5-54 persistence.xmlでのjdbc.propertyの使用

<property name="eclipselink.jdbc.property.defaultRowPrefetch" value="25"/>

関連項目

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

  • EclipseLinkソリューション・ガイドのOracle DatabaseでのTopLinkの使用に関する項

  • EclipseLinkの理解のデータ・アクセスの概要に関する項

jdbc.sql-cast

eclipselink.jdbc.sql-castプロパティを使用して、EclipseLinkでプラットフォーム固有(つまりネイティブ)のCAST SQL操作を使用するかどうかを指定します。


注意:

通常、キャストは不要です。キャストを使用すると問題が発生することがあります。

表5-51は、この永続性プロパティの値を説明しています。

表5-51 jdbc.sql-castの有効値

Value 説明

true

プラットフォーム固有のCAST操作が使用されます。

false

(デフォルト)プラットフォーム固有の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の有効値

Value 説明

true

メタデータからのすべての列名が強制的に大文字になります。

false

(デフォルト)メタデータからの列名は強制的には大文字になりません。


使用方法

ネイティブSQL問合せを使用する場合、一部のプラットフォームについてJDBCメタデータから小文字の列名が返される可能性があります。マッピングでの列名が大文字である場合(デフォルト)、これらは一致しません。このパラメータを使用して、メタデータからのすべての列名を強制的に大文字にする必要があります。

例5-56に、persistence.xmlファイルでこのパラメータを使用する方法を示します。

例5-56 persistence.xmlでのjdbc.uppercase-column-namesの使用

<property name="eclipselink.jpa.uppercase-columns" value="true"/>

関連項目

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

  • 「jpql.parser」

  • EclipseLinkソリューション・ガイドのOracle DatabaseでのTopLinkの使用に関する項

  • EclipseLinkの理解のデータ・アクセスの概要に関する項

jpql.parser

eclipselink.jpql.parserプロパティを使用して、JPQLパーサー・パラメータを構成します。

表5-53は、この永続性プロパティの値を説明しています。

表5-53 jpql.parserの有効値

Value 説明

org.eclipse.persistence.internal.jpa.jpql.HermesParser

(デフォルト)拡張されたJPQLサポートを提供する、EclipseLink 2.4以降の現在のパーサー

org.eclipse.persistence.queries.ANTLRQueryBuilder

下位互換性のために使用される古いパーサー(EclipseLink 2.4より前)


関連項目

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

jpa.uppercase-column-names

eclipselink.jpa.uppercase-column-namesプロパティを使用して、JPA処理ですべての列名定義が大文字になるように指定します(大/小文字を区別しないのと同じ状態にします)。

表5-54は、この永続性プロパティの値を説明しています。

表5-54 jpa.uppercase-column-namesの有効値

Value 説明

true

データベースから返されるJDBCメタデータが大文字で返されるため、フィールドの大/小文字が一致します。jdbc.uppercase-columnstrueに設定します。

false

(デフォルト)JDBCメタデータは大文字で返されません。


使用方法

このプロパティを使用して、ユーザー定義のフィールドの大/小文字が、ネイティブ問合せに対してデータベースから返された大/小文字と一致しない状況を修正します。

例5-57に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-57 persistence.xmlでのjpa.uppercase-column-namesの使用

<property name="eclipselink.jpa.uppercase-column-names" value="true"/>

関連項目

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

  • 「jdbc.uppercase-columns」

  • EclipseLinkソリューション・ガイドのOracle DatabaseでのTopLinkの使用に関する項

  • EclipseLinkの理解のデータ・アクセスの概要に関する項

jpql.validation

eclipselink.jpql.parserプロパティを使用して、JPQLパーサーの検証レベルを構成します。

表5-55は、この永続性プロパティの値を説明しています。

表5-55 jpql.validationの有効値

Value 説明

EclipseLink

(デフォルト) EclipseLink JPALの拡張機能を許可します。

JPA 1.0

有効なJPA 1.0 JPQLのみを許可します。

JPA 2.0

有効なJPA 2.0 JPQLのみを許可します。

JPA 2.1

有効なJPA 2.1 JPQLのみを許可します。

None

JPQL検証は行われません。


使用方法

このパラメータは、eclipselink.jpql.parserHermesParserである場合にのみ適用されます。

例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の有効値

Value 説明

true

(デフォルト)接続名が記録されます。

false

接続名は記録されません。


使用方法

このパラメータを使用すると、接続はすべて記録されアプリケーション・コードでマスクされません。

例5-59に、persistence.xmlファイルでこのパラメータを使用する方法を示します。

例5-59 persistence.xmlでのlogging.connectionの使用

<property name="eclipselink.logging.connection" value="false"/>

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

  • 「logging.level」

logging.exceptions

eclipselink.logging.exceptionsプロパティを使用して、例外がスローされた場合に、この例外をコール元のアプリケーションに返す前に記録するかどうかを指定します。

表5-57は、この永続性プロパティの値を説明しています。

表5-57 logging.exceptionsの有効値

Value 説明

true

(デフォルト)例外がスローされた場合に記録されます。

false

例外がスローされても記録されません。


使用方法

このプロパティを使用すると、確実にすべての例外が記録され、アプリケーション・コードによってマスクされません。

例5-60に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-60 persistence.xmlファイルでのlogging.exceptionsの使用

<property name="eclipselink.logging.exceptions" value="false" />

例5-61に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-61 プロパティ・マップでのlogging.exceptionsの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_EXCEPTIONS, "false");

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

  • 「logging.level」

logging.file

eclipselink.logging.fileプロパティを使用して、標準出力のかわりにログを出力するファイルの場所を指定します。

表5-58は、この永続性プロパティの値を説明しています。

表5-58 logging.fileの有効値

Value 説明

ディレクトリ名

書込みアクセス権限を持つディレクトリへの場所の文字列。この場所は、現在の作業ディレクトリまたは絶対位置に対して相対的に指定できます。


使用方法

このプロパティは、Java SE環境で使用される場合に適用されます。

例5-62に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-62 persistence.xmlファイルでのlogging.fileの使用

<property name="eclipselink.logging.file" value="C:\myout\" />

例5-63に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-63 プロパティ・マップでのlogging.fileの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_FILE, "C:\myout\");

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

logging.level

eclipselink.logging.levelプロパティを使用して、特定のロギング・レベルを指定し、生成される量と詳細を制御します。

表5-59は、この永続性プロパティの値を説明しています。

表5-59 logging.levelの有効値

Value 説明

OFF

ロギングを無効化します。

ロギングのオーバーヘッドを回避するために、本番中にOFFを使用する場合があります。

SEVERE

EclipseLinkが続行できないことを示す例外、およびログイン時に生成されたすべての例外を記録します。これにはスタック・トレースが含まれます。

WARNING

SEVEREレベルで記録されないすべての例外など、EclipseLinkを強制的に停止しない例外を記録します。これにはスタック・トレースは含まれません。

INFO

(デフォルト)ユーザー名など、サーバー・セッションごとのログイン/ログアウトを記録します。セッションを取得すると、詳細情報が記録されます。

CONFIG

ログイン、JDBC接続およびデータベース情報のみを記録します。このログ・レベルは、デプロイメント時に使用する場合があります。

FINE

すべてのSQLを記録します。このログ・レベルは、デバッグおよびテスト時に使用する場合がありますが、本番では使用しません。

FINER

WARNINGと同様ですが、スタック・トレースが含まれます。このログ・レベルは、デバッグおよびテスト時に使用する場合がありますが、本番では使用しません。

FINEST

FINERと同様ですが、これにはその他の低レベル情報が含まれます。このログ・レベルは、デバッグおよびテスト時に使用する場合がありますが、本番では使用しません。

ALL

FINESTと同じレベルで記録します。


例5-64に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-64 persistence.xmlファイルでのlogging.levelの使用

<property name="eclipselink.logging.level" value="OFF" />

例5-65に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-65 プロパティ・マップでのlogging.levelの使用

import java.util.logging.Level;
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_LEVEL, Level.OFF);

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

logging.logger

eclipselink.logging.loggerプロパティを使用して、使用するログ出力のタイプを定義します。

表5-60は、この永続性プロパティの値を説明しています。

表5-60 logging.loggerの有効値

Value 説明

カスタム・ログ出力

org.eclipse.persistence.logging.SessionLogを実装するカスタム・ログ出力の完全修飾クラス名。

JavaLogger

java.util.loggingを使用します。

ServerLogger

アプリケーション・サーバーのロギングと統合します。

DefaultLogger

(デフォルト) EclipseLinkのネイティブ・ロギング(DefaultSessionLog)を使用します。


例5-66に、persistence.xmlファイルでこのパラメータを使用する方法を示します。

例5-66 persistence.xmlでのlogging.loggerの使用

<property name="eclipselink.logging.logger" value="JavaLogger"/>

例5-67に、プロパティ・マップでこのパラメータを使用する方法を示します。

例5-67 プロパティ・マップでのlogging.loggerの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_LOGGER,
"acme.loggers.MyCustomLogger";

logging.parameters

eclipselink.logging.parametersプロパティを使用して、SQLバインド・パラメータを例外およびログに含めるかどうかを定義します。


注意:

このパラメータは、バインド・パラメータにのみ適用されます。バインディングを使用しない場合、パラメータは常に表示されます。

表5-61は、この永続性プロパティの値を説明しています。

表5-61 logging.parametersの有効値

Value 説明

true

(デフォルト)パラメータが表示されます。

false

パラメータは表示されません。


使用方法

デフォルトでは、logging.levelFINE (以上)を使用する場合、SQLバインド・パラメータが表示されます。このパラメータを使用して、デフォルト動作をオーバーライドします。

例5-58に、persistence.xmlファイルでこのパラメータを使用する方法を示します。

例5-68 persistence.xmlでのlogging.parametersの使用

<paramter name="eclipselink.logging.parameters" value="false"/>

関連項目

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

  • 「logging.level」

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

logging.session

eclipselink.logging.sessionプロパティを使用して、EclipseLinkによって各ログ・メッセージにセッション識別子が含められるかどうかを指定します。

表5-62は、この永続性プロパティの値を説明しています。

表5-62 logging.sessionの有効値

Value 説明

true

(デフォルト)セッション識別子が記録されます。

false

セッション識別子は記録されません。


使用方法

この設定は、SQLなどのデータベース接続を必要とするメッセージ、および、どの基礎となるセッション(存在する場合)についてメッセージが送信されたかを判断するための、トランザクション情報を必要とするメッセージに適用可能です。

例5-69に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-69 persistence.xmlファイルでのlogging.sessionの使用

<property name="eclipselink.logging.session" value="false" />

例5-70に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-70 プロパティ・マップでのlogging.sessionの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_SESSION, "false");

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

  • 「logging.level」

logging.thread

eclipselink.logging.threadプロパティを使用して、EclipseLinkによって各ログ・メッセージにスレッド識別子が含められるかどうかを指定します。

表5-63は、この永続性プロパティの値を説明しています。

表5-63 logging.threadの有効値

Value 説明

true

(デフォルト)スレッド識別子が記録されます。

false

スレッド識別子は記録されません。


使用方法

このプロパティは、マルチスレッド・アプリケーションを実行する場合に使用する必要があります。EclipseLinkでは、スレッドのhashCodeが組み込まれます。

例5-71に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-71 persistence.xmlファイルでのlogging.threadの使用

<property name="eclipselink.logging.thread" value="false" />

例5-72に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-72 プロパティ・マップでのlogging.threadの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_THREAD, "false");

関連項目

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

  • 「logging.level」

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

logging.timestamp

eclipselink.logging.timestampプロパティを使用して、EclipseLinkによって各ログ・メッセージにタイムスタンプが含められるかどうかを指定します。

表5-64は、この永続性プロパティの値を説明しています。

表5-64 logging.timestampの有効値

Value 説明

true

(デフォルト)タイムスタンプが記録されます。

false

タイムスタンプは記録されません。


例5-73に、peristence.xmlファイルでこのプロパティを使用する方法を示します。

例5-73 persistence.xmlファイルでのlogging.timestampの使用

<property name="eclipselink.logging.timestamp" value="false" />

例5-74に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-74 プロパティ・マップでのlogging.timestampの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.LOGGING_TIMESTAMP, "false");

関連項目

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

  • EclipseLinkソリューション・ガイドのTopLinkロギングを公開するためのWebLogic Serverの構成に関する項

  • 「logging.level」

metadata-source

eclipselink.metadata-sourceプロパティを使用して、EclipseLinkでメタデータの読取りに使用するMetadataSource実装を指定します。

表5-65は、この永続性プロパティの値を説明しています。

表5-65 metadata-sourceの有効値

Value 説明

XML

XMLMetadataSourceを使用してください。

カスタム・メタデータ・ソース

MetadataSourceを実装するカスタム・クラス名。


使用方法

このプロパティを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"/>

関連項目

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

metadata-source.properties.file

eclipselink.metadata-source.properties.fileプロパティを使用し、クラスローダーを使用してリソースを検索する場合に読み取られる、メタデータ・リポジトリのプロパティ・ファイルの名前を指定します。

表5-66は、この永続性プロパティの値を説明しています。

表5-66 metadata-repository.properties.fileの有効値

Value 説明

ファイル名

メタデータ・ソース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"/>

関連項目

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

  • 「metadata-source」

  • EclipseLinkソリューション・ガイドの外部メタデータ・ソースの使用に関する項

metadata-source.send-refresh-command

eclipselink.metadata-source.send-refresh-commandプロパティをクラスタ環境用のキャッシュ・コーディネーションとともに使用して、RCMリフレッシュ・メタデータ・コマンドをEclipseLinkがクラスタに送信する方法を制御します。

表5-67は、この永続性プロパティの値を説明しています。

表5-67 metadata-source.send-refresh-commandの有効値

Value 説明

true

(デフォルト)リフレッシュ・コマンドをクラスタに伝播するには、RCMを構成して、eclipselink.deploy-on-startupプロパティを使用する必要があります。

false

リフレッシュ・コマンドはクラスタに伝幡されません。


使用方法

キャッシュ・コーディネーションが構成されており、かつ、セッションが起動時にデプロイされている場合、このプロパティによって、RCMリフレッシュ・メタデータ・コマンドのクラスタへの送信が制御されます。

これらのコマンドによって、リモート・インスタンスでメタデータがリフレッシュされます。

例5-77に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-77 persistence.xmlでのmetadata-source.send-refresh-commandの使用

<property name="eclipselink.metadata-source-refresh-command" value="false"/>

例5-78に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-78 プロパティ・マップでのmetadata-source-refresh-commandの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.METADATA_SOURCE_RCM_COMMAND, "false");

関連項目

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

metadata-source.xml.file

eclipselink.metadata-repository.xml.fileプロパティを使用し、クラスローダーを使用してリソースを検索する場合に読み取られる、メタデータ・リポジトリのXMLファイルの名前を指定します。

表5-68は、この永続性プロパティの値を説明しています。

表5-68 metadata-source.xml.fileの有効値

Value 説明

ファイル名

メタデータrepository.xmlファイル。


使用方法

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"/>

関連項目

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

  • 「metadata-source」

  • EclipseLinkソリューション・ガイドの外部メタデータ・ソースの使用に関する項

metadata-source.xml.url

eclipselink.metadata-source.xml.urlプロパティを使用して、外部マッピングファイルの場所を指定します。

表5-69は、この永続性プロパティの値を説明しています。

表5-69 metadata-source.xml.urlの有効値

Value 説明

url

メタデータ・リポジトリ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"/>

関連項目

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

  • 「metadata-source」

  • EclipseLinkソリューション・ガイドの外部メタデータ・ソースの使用に関する項

multitenant.tenants-share-cache

eclipselink.multitenant.tenants-share-cacheをプロパティ使用して、マルチテナント・エンティティでL2キャッシュを共有するかどうかを指定します。

表5-70は、この永続性プロパティの値を説明しています。

表5-70 multitenant.tenants-share-cacheの有効値

Value 説明

true

マルチテナント・エンティティで、保護されたキャッシュが使用されます。

false

(デフォルト)マルチテナント・エンティティで、独立したキャッシュが使用されます。


使用方法


警告:

この設定がfalseであり、PROTECTED設定を使用している場合、キャッシュを使用する問合せにより、他のテナントからデータが返されることがあります。


例5-81に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-81 persistence.xmlでのmultitenant.tenants-share-cacheの使用

<property name="eclipselink.multitenant.tenants-share-cache" value="true" />

例5-82に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-82 プロパティ・マップでのmultitenant.tenants-share-cacheの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.MULTITENANT_TENANTS_SHARE_CACHE,
"true");

関連項目

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

  • 「@Multitenant」

  • EclipseLinkソリューション・ガイドのマルチテナンシの使用に関する項

multitenant.tenants-share-emf

eclipselink.multitenant.shared-emfプロパティを使用して、共有エンティティ・マネージャ・ファクトリ内でマルチテナント・エンティティを使用するかどうかを指定します。

表5-71は、この永続性プロパティの値を説明しています。

表5-71 multitenant.tenants-share-emfの有効値

Value 説明

true

(デフォルト)マルチテナント・エンティティが使用されます。

false

一意のセッション名を指定します。


使用方法

falseに設定する場合は、一意のセッション名を指定する必要があります。

例5-83に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-83 persistence.xmlでのmultitenant.tenants-share-emfの使用

<property name="eclipselink_multitenant_tenants_share_emf" value="true" />

関連項目

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

  • 「@Multitenant」

  • EclipseLinkソリューション・ガイドのマルチテナンシの使用に関する項

nosql.connection-factory

eclipselink.nosql.connection-factoryプロパティを使用して、JCA ConnectionFactoryのJNDI名またはNoSQLデータ・ソースに接続するJCA ConnectionFactoryのクラス名を指定します。

表5-72は、この永続性プロパティの値を説明しています。

表5-72 nosql.connection-factoryの有効値

Value 説明

コネクション・ファクトリ

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」

  • 「nosql.property」

  • EclipseLinkの理解のNoSQLデータベースの使用に関する項

  • EclipseLinkソリューション・ガイドのEclipseLinkと非リレーショナル・データベースの使用に関する項

nosql.connection-spec

eclipselink.nosql.connection-specプロパティを使用して、NoSQLデータ・ソースへの接続方法を定義するEISConnectionSpecクラス名を指定します。

表5-73は、この永続性プロパティの値を説明しています。

表5-73 nosql.connection-specの有効値

Value 説明

クラス名

IESConnectionSpecクラス名


使用方法

このプロパティを使用すると、JCA ConnectionFactoryをNoSqlまたはNoSQLデータソース(つまり、レガシー・データベース、NoSQLデータベース、XMLデータベース、トランザクション・システムやメッセージ・システム、ERPシステムなどの非リレーション・データソース)用のEISアダプタとともに使用できます。

このプロパティの使用方法の詳細は、例5-85を参照してください。

関連項目

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

  • 「@NoSql」

  • 「nosql.property」

  • EclipseLinkの理解のNoSQLデータベースの使用に関する項

  • EclipseLinkソリューション・ガイドのEclipseLinkと非リレーショナル・データベースの使用に関する項

nosql.property

eclipselink.nosql.propertyプロパティを使用して、NoSQL固有の接続プロパティを設定します。

表5-74は、この永続性プロパティの値を説明しています。

表5-74 nosql.propertyの有効値

Value 説明

プロパティ名

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.proxy-type

eclipselink.oracle.proxy-typeプロパティを使用して、OracleConnection.openProxySessionメソッドに渡すプロキシ・タイプを指定します。

表5-75は、この永続性プロパティの値を説明しています。

表5-75 oracle.proxy-typeの有効値

Value 説明

USER_NAME

このタイプでは、プロキシ接続を作成する際の認証にユーザー名が使用されます。

DISTINGUISED_NAME

このタイプでは、プロキシ接続を作成する際の認証に識別名が使用されます。

CERTIFICATE

このタイプでは、プロキシ接続を作成する際の認証にデジタル証明書が使用されます。


使用方法

このプロパティには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>要素に指定されたファイルのいずれかに問題が発生した場合に、例外をスローするか、または警告を記録するかを指定します。

表5-76は、この永続性プロパティの値を説明しています。

表5-76 orm.throw.exceptionsの有効値

Value 説明

true

(デフォルト)例外をスローします。

false

警告の記録のみを行います。


例5-87に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-87 persistence.xmlでのorm.throw.exceptionsの使用

<property name="oracle.orm.throw.exceptions" value="false"/>

例5-88に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

true

orm.xmlファイルのスキーマ検証を有効にします。

false

(デフォルト)orm.xmlファイルのスキーマ検証は行われません。


使用方法

orm.validate.schemaを使用してorm.xmlのスキーマ検証を有効にします。

例5-89に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-89 persistence.xmlでのorm.validate.schemaの使用

<property name="eclipselink.orm.validate.schema" value="true"/>

例5-90に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-90 プロパティ・マップでのorm.validate.schemaの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.ORM_VALIDATE_SCHEMA, "true");

partitioning

eclipselink.partitioningプロパティを使用して、永続性ユニットにデフォルトのPartitioningPolicyを設定します。この値は、定義された既存のPartitioningPolicyの名前である必要があります。

表5-78は、この永続性プロパティの値を説明しています。

表5-78 partitioningの有効値

Value 説明

name

定義された既存の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 説明

value

DataPartitioningCallBackインタフェースを実装するクラス。


使用方法

値には完全なクラス名を設定する必要があります。

例5-92に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-92 persistence.xmlでのpartitioning.callbackの使用

<property name="eclipselink.partitioning.callback"
value="mypacakge.MyDataPartitioningCallback"/>

例5-93に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

true

コミット後にEntityManagerを閉じます。

false

(デフォルト)コミット後に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の有効値

Value 説明

true

エンティティ・ライフサイクルのPersist操作を関連エンティティにカスケードし、CascadeType.PERSIST設定を使用します。

false

(デフォルト)エンティティ・ライフサイクルのPersist操作を関連エンティティにカスケードしません。また、CascadeType.PERSIST設定も使用しません。


使用方法

このプロパティをtrueに設定すると、EclipseLinkの従来のネイティブ機能がレプリケートされます。

例5-96に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-96 persistence.xmlでのpersistence-context.commit-without-persist-rulesの使用

<property name="eclipse.persistence-context.commit-without-persist-rules"
value="true"/>

例5-97に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

auto

(デフォルト)フラッシュは、問合せの実行時に行われます。

commit

フラッシュは、トランザクションのコミット時に行われます。


使用方法

このプロパティをpersistence.xmlに設定するか、またはcreateEntityManagerFactoryに渡すと、ファクトリによって作成されるすべてのEntityManagersに影響を及ぼします。このプロパティを特定のEntityManagersに適用するには、createEntityManagerメソッドに渡します。

例5-98に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-98 persistence.xmlでのpersistence-context.flush-modeの使用

<property name="eclipselink.persistence-context.flush-mode" value="commit" />

例5-99に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-99 プロパティ・マップでのpersistence-context.flush-modeの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.PERSISTENCE_CONTEXT_FLUSH_MODE,
"false");

関連項目

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

  • 「flush」

  • EclipseLinkソリューション・ガイドのパフォーマンスの拡張に関する項

persistence-context.persist-on-commit

eclipselink.persistence-context.persist-on-commitプロパティを使用して、EntityManagerですべての管理対象オブジェクトを検索し、管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものをすべて永続化するかどうかを指定します。これを使用すると、新規オブジェクトに対して常に永続化が使用される場合に、この検索を実行する負荷を回避できます。

表5-83は、この永続性プロパティの値を説明しています。

表5-83 persistence-context.persist-on-commitの有効値

Value 説明

true

(デフォルト)管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものに対して検索および永続化を行います。

false

管理されていない新規の関連オブジェクトのうち、カスケード永続化が設定されたものに対して検索および永続化を行いません。


使用方法

このプロパティをpersistence.xmlに設定するか、またはcreateEntityManagerFactoryに渡すと、ファクトリによって作成されるすべてのEntityManagersに影響を及ぼします。このプロパティを特定のEntityManagersに適用するには、createEntityManagerメソッドに渡します。

例5-100に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-100 persistence.xmlでのpersistence-context.persist-on-commitの使用

<property name="eclipselink.persistence-context.persist-on-commit" value="false"/>

例5-101に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

hard

(デフォルト) EclipseLinkにより、ハード参照を使用してすべてのオブジェクトが参照されます。参照アーティファクト(永続性コンテキストや作業ユニットなど)を解放、消去または閉じるまで、これらのオブジェクトをガベージ・コレクションに使用することはできません。

weak

アクティブ属性の変更追跡(「@ChangeTracking」を参照)をサポートするオブジェクトへの参照は、弱参照によって保持されます。つまり、直接的または間接的に参照されなくなったすべてのオブジェクトは、ガベージ・コレクションに使用できるようになります。変更追跡の対象オブジェクトが変更されると、該当するオブジェクトはハード参照に移動され、フラッシュされるまでガベージ・コレクションに使用できなくなります。

注意: これらのエンティティ内でフラッシュされなかった変更は、すべて失われます。

アクティブ属性の変更追跡をサポートしないオブジェクトに加えて、新規および削除されたオブジェクトもハード参照によって保持され、ガベージ・コレクションに使用することはできません。

force_weak

変更追跡の対象外であるオブジェクトを含むすべてのオブジェクトは、弱参照によって保持されます。変更追跡の対象オブジェクト(「@ChangeTracking」を参照)が変更されると、該当するオブジェクトはハード参照に移動され、フラッシュされるまでガベージ・コレクションに使用できなくなります。ただし、アクティブ属性の変更追跡をサポートしないすべてのオブジェクトは、それらの変更がデータベースにフラッシュされる前にガベージ・コレクトされる場合があるため、変更が失われる可能性があります。

新規および削除されたオブジェクトはハード参照によって保持され、ガベージ・コレクションに使用することはできません。


使用方法

このプロパティをpersistence.xmlに設定するか、またはcreateEntityManagerFactoryに渡すと、ファクトリによって作成されるすべてのEntityManagersに影響を及ぼします。このプロパティを特定のEntityManagersに適用するには、createEntityManagerメソッドに渡します。

例5-102に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-102 persistence.xmlでのpersistence-context.reference-modeの使用

<property name="eclipselink.persistence-context.reference-mode" 
value="FORCE_WEAK"/>

例5-103に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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プロパティを使用して、標準モデルの生成時に処理する永続性ユニットの名前セットを指定します。デフォルトでは、EclipseLinkにより、すべての永続性XMLファイル内で使用可能なすべての永続性ユニットが使用されます。

表5-85は、この永続性プロパティの値を説明しています。

表5-85 persistenceunitsの有効値

Value 説明

名前

永続性ユニットのカンマ区切りリスト

注意: 複数の永続性ユニットを指定する場合、永続性ユニットの名前にカンマ( , )を使用することはできません


例5-104に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-104 persistence.xmlでのpersistenceunitsの使用

<property name="eclipselink.persistenceunits" value="mypu1, mypu2"/>

persistencexml

eclipselink.persistencexmlプロパティを使用して、永続性XMLファイルの検索対象となる完全なリソース名を指定します。省略する場合、EclipseLinkでは、デフォルトの場所META-INF/persistence.xmlが使用されます。


注意:

現在、このプロパティは標準のモデル・ジェネレータにのみ使用されています。

表5-86は、この永続性プロパティの値を説明しています。

表5-86 persistencexmlの有効値

Value 説明

リソース名

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の有効値

Value 説明

リソースの場所

persistence.xmlファイルのデフォルトのリソースの場所。


例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の有効値

Value 説明

NoProfiler

(デフォルト)パフォーマンス・プロファイラは使用されません。

PerformationMonitor

EclipseLinkパフォーマンス・モニターorg.eclipse.persistence.tools.profiler.PerformanceMonitorを使用します。

PerformanceProfiler

EclipseLinkパフォーマンス・プロファイラを使用します(org.eclipse.persistence.tools.profiler.PerformanceProfiler)。

QueryMonitor

問合せ実行およびキャッシュ・ヒットを監視します(org.eclipse.persistence.tools.profiler.QueryMonitorクラス)。

このオプションにより、問合せ実行およびキャッシュ・ヒットのパフォーマンスを測定するための低オーバーヘッドの単純な方法が提供されます。複雑なシステムでのパフォーマンス分析に、このオプションを使用することが必要な場合があります。

DMSProfiler

org.eclipse.persistence.tools.profiler.oracle.DMSPerformanceProfilerを使用してください。このプロパティは、Oracle Dynamic Monitoring Service (DMS)に固有です。

カスタム・プロファイラ

SessionProfilerを実装するカスタム・プロファイラ・クラス名を指定して、引数を持たないコンストラクタを指定します。


例5-107に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-107 persistence.xmlでのprofilerの使用

<property name="eclipselink.profiler" value="PerformanceProfiler"/>

例5-108に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-108 プロパティ・マップでのprofilerの使用

import org.eclipse.persistence.config.ProfilerType;
import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.PROFILER,
ProfilerType.PerformanceProfiler);

関連項目

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

  • EclipseLinkソリューション・ガイドのパフォーマンスの測定に関する項

session.customizer

eclipselink.session.customizerプロパティを使用して、org.eclipse.persistence.config.SessionCustomizerインタフェースを実装するセッション・カスタマイザ・クラスを指定します。このクラスは、デフォルトの引数を使用しないコンストラクタを提供する必要があります。

表5-89は、この永続性プロパティの値を説明しています。

表5-89 session.customizerの有効値

Value 説明

クラス名

SessionCustomizerクラスの完全修飾クラス名。


使用方法

(org.eclipse.persistence.sessions.Sessionを値として使用する)クラスのカスタマイズ・メソッドを使用すると、拡張されたEclipseLinkセッションAPIにプログラムによってアクセスできます。セッション・カスタマイザ・クラスを使用して、複数のセッション・イベント・リスナーを定義できます。

例5-109に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-109 persistence.xmlでのsession.customizerの使用

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

例5-110に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

true

コピーを有効化します。

false

(デフォルト)コピーを無効化します。


例5-111に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-111 persistence.xmlでのsession.include.descriptor.queriesの使用

<property name="eclipselink.session.include.descriptor.queries" value="true"/>

例5-112に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

クラス名

org.eclipse.persistence.sessions.SessionEventListenerインタフェースを実装するクラスの完全修飾クラス名


使用方法

複数のイベント・リスナーを定義するには、session.customizerクラスを使用します。

例5-113に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-113 persistence.xmlでのsession-event-listenerの使用

<property name="eclipselink.session-event-listener"
value="mypackage.MyClass.class"/>

例5-113に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

名前

デフォルト(EclipseLinkにより生成されたセッション名)のかわりに使用する一意のセッション名。


使用方法

デフォルトでは、EclipseLinkにより一意のセッション名が生成されます。このプロパティを使用して、一意のカスタム・セッション名を指定できます。

sessions-xmlファイルを使用する場合、このセッション名をsessions-xmlファイルにセッション名として含める必要があります。

例5-115に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-115 persistence.xmlでのsession-nameの使用

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

例5-116に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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注釈やEclipseLink XMLを使用せずに構成およびマッピング情報をロードします。

表5-93は、この永続性プロパティの値を説明しています。

表5-93 sessions-xmlの有効値

Value 説明

構成ファイル

セッションXMLファイルのリソース名。このプロパティに値を指定しない場合、このプロパティは使用されません。


使用方法

注釈およびデプロイメントXMLを使用するかわりに、eclipselink.sessions-xmlプロパティを使用できます。このプロパティを使用すると、EclipseLinkでは、図5-1に示すように、このメタデータに基づいてインメモリーEclipseLinkセッションおよびプロジェクトが構築されます。EclipseLink sessions.xmlのみを使用してすべてのエンティティの定義などを行った後、永続性マネージャを取得して使用できます。

図5-1 eclipselink.sessions-xml永続性プロパティの使用

図5-1の説明が続きます
「図5-1 eclipselink.sessions-xml永続性プロパティの使用」の説明

例5-117に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-117 persistence.xmlファイルでのsessions-xmlの使用

<property name="eclipselink.sessions-xml" value="mysession.xml"/>

例5-118に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

TargetDatabaseクラスで定義された値またはDatabasePlatformを拡張する完全修飾クラス名

ご使用のデータベースを指定します。

  • Attunity

  • 自動(デフォルト): EclipseLinkにより、データベースおよびJDBCメタデータへのアクセスが試行され、ターゲット・データベースが決定されます。

  • Cloudscape

  • データベース: ターゲット・データベースがリストされておらず、ご使用のJDBCドライバで「自動」に必要なメタデータがサポートされていない場合、汎用データベースを使用します。

  • DB2

  • DB2Mainframe

  • DBase

  • Derby

  • HSQL

  • Informix

  • JavaDB

  • MaxDB

  • MySQL

  • MySQL4

  • Oracle

  • Oracle10

  • Oracle11

  • Oracle8

  • Oracle9

  • PointBase

  • PostgreSQL

  • SQLAnywhere

  • SQLServer

  • Sybase

  • Symfoware

  • TimesTen


使用方法

eclipselink.validation-only = trueの場合、「自動」クラス名または短縮名は使用できません。

例5-119に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例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に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

TargetServerクラスで定義される値

ご使用のアプリケーション・サーバーを指定します。

  • JBoss: JBoss Application Server

  • OC4J: OC4J永続性プロバイダ

  • SAPNetWeaver_7_1: SAP NetWeaver Application Server 7.1 (以上)

  • SunAS9: Sun Application Server 9

  • WebLogic: Oracle WebLogic Server

  • WebLogic_10: Oracle WebLogic Server 10

  • WebLogic_9: Oracle WebLogic Server 9

  • WebSphere: IBM WebSphere

  • WebSphere_6_1: IBM WebSphere 6.1

  • WebSphere_7: IBM WebSphere 7

  • WebSphere_Liberty: IBM WebSphere Liberty

  • Default (TargetServer.None)


使用方法

指定された値に加えて、プラットフォームの完全なクラス名を指定することにより、カスタム・サーバー・プラットフォームを指定できます。

ExternalTransactionControllerを実装するクラス名を指定すると、このコントローラにCustomServerPlatformが設定されます。

例5-121に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-121 persistence.xmlでのtarget-serverの使用

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

例5-122に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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);

関連項目

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

  • EclipseLinkソリューション・ガイド

  • EclipseLinkの理解のEclipseLinkとアプリケーション・サーバーの統合に関する項およびTopLinkデータベースとアプリケーション・サーバーのサポートに関する項

temporal.mutable

eclipselink.temporal.mutableプロパティを使用して、一時フィールド(Date、Calendar)への変更を検出する場合のデフォルトを構成します。

表5-96に、この永続性プロパティの値を示します。

表5-96 temporal.mutableの有効値

Value 説明

true

オブジェクトへの変更が検出されます。属性変更追跡のウィービングは無効化されます。

false

(デフォルト)オブジェクト自体への変更は検出されません。


使用方法

デフォルトでは、一時フィールドが置換されると想定され、一時オブジェクトは直接変更されません。

例5-123に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-123 persistence.xmlでのtemporal.mutableの使用

<property name="eclipselink.temporal.mutable" value="true"/>

例5-124に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-124 プロパティ・マップでのtemporal.mutableの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.TEMPORAL_MUTABLE,
"true");

tenant-id

eclipselink.tenant-idプロパティを使用して、マルチテナント・エンティティの移入に使用するデフォルトのコンテキスト・プロパティを指定します。

表5-97は、この永続性プロパティの値を説明しています。

表5-97 tenant-idの有効値

Value 説明

value

デフォルトのコンテキスト・プロパティの名前。


使用方法

これはデフォルトのマルチテナント・プロパティです。単独で使用することも、ユーザーが定義した他のプロパティと使用することもできます。このプロパティは使用しなくても構いません。独自のものを自由に指定できます。

例5-125に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-125 persistence.xmlでのtenant-idの使用

<property name="eclipselink.tenant-id" value="Oracle"/>

例5-126に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

true

永続性コンテキストでJTA管理の接続による読取りを強制的に行います。

false

(デフォルト)永続性コンテキストでJTA管理の接続による読取りを強制的には行いません。


使用方法

このプロパティをpersistence.xmlに設定するか、またはcreateEntityManagerFactoryに渡すと、ファクトリによって作成されるすべてのEntityManagersに影響を及ぼします。このプロパティがtrueに設定されている場合、トランザクション中に読み取られたオブジェクトは、更新されないかぎり共有キャッシュに配置されません。または、このプロパティを一部のEntityManagersにのみ適用するには、createEntityManagerメソッドに渡します。

例5-127に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-127 persistence.xmlでのtransaction.join-existingの使用

<property name="eclipselink.transaction.join-existing" value="true"/>

例5-128に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-128 プロパティ・マップでのtransaction.join-existingの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.TRANSACTION_JOIN_EXISTING,
"true");

関連項目

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

  • EclipseLinkソリューション・ガイドの自動チューニングに関する項

tuning

eclipselink.tuningプロパティを使用して、永続性ユニットの構成に使用するチューナのタイプを選択します。

表5-99は、この永続性プロパティの値を説明しています。

表5-99 tuningの有効値

Value 説明

standard

(デフォルト)標準のチューナが使用され、デフォルトの構成設定はいずれも変更されません。

safe

デバッグ用の永続性ユニットを構成します。これにより、キャッシングおよび複数のパフォーマンス最適化が無効になります。開発およびデバッグ構成の簡略化を意図したものです。

カスタム・チューナ

org.eclipse.persistence.tools.tuning.SessionTunerインタフェースを実装する完全なクラス名を指定します。


使用方法

自動チューニングを使用して、複数の構成プロパティを単一フラグの一部として設定し、アプリケーション開発の様々な段階で動的チューニングを実行します。

例5-129に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-129 persistence.xmlでのtuningの使用

<property name="eclipselink.tuning" value="safe"/>

validate-existence

eclipselink.validate-existenceプロパティを使用して、EclipseLinkによりpersist()でオブジェクトの存在を検証するかどうかを指定します。

表5-100は、この永続性プロパティの値を説明しています。

表5-100 validate-existenceの有効値

Value 説明

true

オブジェクトの存在が検証されます。

false

(デフォルト)オブジェクトが永続性コンテキストに存在しない場合は、新規オブジェクトであると想定されます。


使用方法

検証されたオブジェクトが永続性コンテキストに存在しない場合は、エラーがスローされます。

例5-130に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-130 persistence.xmlでのvalidate-existenceの使用

<property name="eclipselink.validate-existence" value="true"/>

例5-131に、プロパティ・マップでこのプロパティを使用する方法を示します。

例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の有効値

Value 説明

true

EclipseLinkにより、ディスクリプタが初期化されます(ログインなし)。

false

(デフォルト) EclipseLinkにより、ディスクリプタが初期化されます(ログインあり)。


使用方法

eclipselink.validation-onlytrueに設定する場合、自動化されていないクラス名または短縮名を使用して、eclipselink.target-databaseを構成する必要もあります。

例5-132に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-132 persistence.xmlでのvalidation-onlyの使用

<property name="eclipselink.validation-only" value="true"/>

例5-133に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-133 プロパティ・マップでのvalidation-onlyの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertyMap.put(PersistenceUnitProperties.VALIDATION_ONLY,
"true");

関連項目

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

weaving

eclipselink.weavingプロパティを使用して、EclipseLinkでエンティティ・クラスについてウィービングを実行するかどうかを指定します。EclipseLink JPAでは、ウィービングを使用して、遅延ロード、変更追跡、フェッチ・グループ、内部最適化などについてJPAエンティティを拡張します。

表5-102は、この永続性プロパティの値を説明しています。

表5-102 weavingの有効値

Value 説明

true

エンティティ・クラスの動的ウィービングが実行されます。

false

エンティティ・クラスのウィービングは実行されません。

static

エンティティ・クラスの静的ウィービングが実行されます。


例5-134に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-134 persistence.xmlでのweavingの使用

<property name="eclipse.weaving" value="false"/>

例5-135に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-135 プロパティ・マップでのweavingの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put
(PersistenceUnitProperties.WEAVING, "false");

関連項目

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

weaving.changetracking

eclipselink.weaving.changetracking永続性プロパティを使用して、次のことを行います。

  • ウィービングによるAttributeLevelChangeTrackingを有効化します。

  • すべてのマッピングを含むクラスのみを変更できます。

  • 変更追跡を有効化できます。可変の基本属性については、変更追跡されません。

このプロパティは、ウィービングが有効の場合にのみ有効になります。

表5-103は、この永続性プロパティの値を説明しています。

表5-103 weaving.changetrackingの有効値

Value 説明

true

(デフォルト)このプロパティを有効化します。

false

このプロパティを無効化します。


例5-136に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-136 persistence.xmlでのweaving.changetrackingの使用

<property name="eclipse.weaving.changetracking" value="false"/>

例5-137に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-137 プロパティ・マップでのweaving.changetrackingの使用

import org.eclipselink.persistence.config.PersistenceUnitProperties;
propertiesMap.put
(Persistence.Unit.Properties.WEAVING_CHANGETRACKING,
value="false");

関連項目

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

weaving.eager

eclipselink.weaving.eagerプロパティを使用して、即時リレーションシップについてEclipseLinkでインダイレクションを使用するかどうかを指定します。

表5-104は、この永続性プロパティの値を説明しています。

表5-104 weaving.eagerの有効値

Value 説明

true

即時リレーションシップについてウィービングによるインダイレクションを有効化します。

false

(デフォルト)即時リレーションシップについてウィービングによるインダイレクションを無効化します。


使用方法

1対1および多対1のマッピングは、FetchType.EAGERを使用して構成されている場合でも、事実上遅延マッピングとなります。

この拡張機能は、weavingtrueまたはstaticに構成されている場合にのみ使用できます。詳細は、「weaving」を参照してください。

例5-138に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-138 persistence.xmlでのweavingの使用

<property name="eclipselink.weaving.eager" value="true"/>

例5-139に、プロパティ・マップでこの拡張機能を使用する方法を示します。

例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の有効値

Value 説明

true

(デフォルト)ウィービングによるFetchGroupsを有効化します。

false

ウィービングによるFetchGroupsを無効化します。


例5-140に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-140 persistence.xmlでのweaving.fetchgroupsの使用

<property name="eclipselink.weaving.fetchgroups value="false"/>

例5-141に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-141 プロパティ・マップでのweaving.fetchgroupsの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put
(PersistenceUnitProperties.WEAVING_FETCHGROUPS, "false")

関連項目

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

weaving.internal

eclipselink.weaving.internalプロパティを使用して、EclipseLinkでウィービングによる内部最適化を使用するかどうかを指定します。

表5-106は、この永続性プロパティの値を説明しています。

表5-106 weaving.internalの有効値

Value 説明

true

(デフォルト)ウィービングによる内部最適化を有効化します。

false

ウィービングによる内部最適化を無効化します。


使用方法

この拡張機能は、weavingtrueまたはstaticに構成されている場合にのみ使用できます。詳細は、「weaving」を参照してください。

例5-142に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-142 persistence.xmlでのweavingの使用

<property name="eclipselink.weaving.internal" value="false"/>

例5-143に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-143 プロパティ・マップでのweavingの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put
(PersistenceUnitProperties.WEAVING_INTERNAL, "false");

関連項目

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

weaving.lazy

eclipselink.weaving.lazyプロパティを使用して、EclipseLinkで1対1または多対1のレイジー・マッピングを使用するかどうかを指定します。

表5-107は、この永続性プロパティの値を説明しています。

表5-107 weaving.lazyの有効値

Value 説明

true

(デフォルト)ウィービングによる1対1および多対1マッピングを有効化します。

false

ウィービングによる1対1および多対1マッピングを無効化します。


使用方法

この拡張機能は、weavingtrueまたはstaticに構成されている場合にのみ使用できます。詳細は、「weaving」を参照してください。

例5-144に、persistence.xmlファイルでこのプロパティを使用する方法を示します。

例5-144 persistence.xmlでのweaving.lazyの使用

<property name="eclipselink.weaving.lazy" value="false"/>

例5-145に、プロパティ・マップでこのプロパティを使用する方法を示します。

例5-145 プロパティ・マップでのweaving.lazyの使用

import org.eclipse.persistence.config.PersistenceUnitProperties; 
propertiesMap.put
(PersistenceUnitProperties.WEAVING_LAZY, "false");

関連項目

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