6.2.2 <property>タグに指定できるCJPAプロバイダ独自のプロパティ

persistence.xmlの<property>タグに指定するCJPAプロバイダ独自のプロパティについて説明します。

CJPAプロバイダでは,EntityManagerFactoryのcreateEntityManager()の引数として,指定できるプロパティはありません。なお,persistence.xmlファイルのプロパティの属性値は,数値であっても引用符(ダブルクォーテーションまたはシングルクォーテーション)で囲って指定してください。

注意
CJPAプロバイダでは,JPA仕様で規定されているjavaxから始まるプロパティを<property>タグに指定できません。JPA仕様で規定されているjavaxから始まるプロパティを,persistence.xmlの<property>タグに指定した場合の動作は保証しません。
また,JPA仕様で規定されているjavaxから始まるプロパティはシステムプロパティとして指定しないでください。JPA仕様で規定されているjavaxから始まるプロパティを次に示します。
  • javax.persistence.transactionType
  • javax.persistence.jtaDataSource
  • javax.persistence.nonJtaDataSource
  • javax.persistence.provider

CJPAプロバイダ独自のプロパティについて説明します。

これらのプロパティは,persistence.xmlファイルの<property>タグに指定します。

プロパティの値に指定可能範囲外の値が設定された場合,デプロイ時に例外が発生します。また,大文字と小文字は区別されます。

CJPAプロバイダ独自のプロパティについて表で示します。

表6-5 CJPAプロバイダ独自のプロパティ

プロパティ名内容指定可能値デフォルト
cosminexus.jpa.cache.size.<ENTITY><ENTITY>で指定されたエンティティのキャッシュに設定する初期化サイズを指定します。
キャッシュのタイプがFullの場合,エンティティのキャッシュに対する初期化サイズを設定します。
キャッシュタイプがHardWeakまたはSoftWeakの場合,エンティティのキャッシュの最大サイズを設定します。
キャッシュサイズの指定は,全体で呼び出されるエンティティの最大ID数(レコード数)を目安にして設定します。
0~2147483647​1000
cosminexus.jpa.cache.size.defaultエンティティをキャッシュする場合のデフォルトのキャッシュサイズを設定します。
キャッシュのタイプがFullの場合,エンティティのキャッシュに対する初期化サイズを設定します。
キャッシュタイプがHardWeakまたはSoftWeakの場合,エンティティのキャッシュの最大サイズを設定します。
キャッシュサイズの指定は,全体で呼び出されるエンティティの最大ID数(レコード数)を目安にして設定します。
0~2147483647​1000
cosminexus.jpa.cache.type.<ENTITY><ENTITY>で指定されたエンティティのキャッシュのタイプを指定します。指定できる文字列は次のとおりです。
  • Full
  • Weak
  • HardWeak
  • SoftWeak
  • NONE
SoftWeak
cosminexus.jpa.cache.type.defaultキャッシュのデフォルトタイプを指定します。指定できる文字列は次のとおりです。
  • Full
  • Weak
  • HardWeak
  • SoftWeak
  • NONE
SoftWeak
cosminexus.jpa.target-database接続するデータベースの名前を指定します。各データベース固有の処理を切り分けるために,指定値によりデータベース固有部分を実装したクラスを読み込みます。
Autoを指定した場合は,CJPAプロバイダへの初回リクエスト時に,persistence.xmlの<jta-data-source>または<non-jta-data-source>に指定したリソースの情報から,自動でデータベースを識別します。このため,データベースの名前を指定した場合に比べて若干処理時間が長くなります。
通常はAutoを使用しないでデータベースの名前を指定することを推奨します。
指定できる文字列を次に示します。
  • Auto
  • HiRDB
  • Oracle
Auto