|
以下の節では、Kodo 固有のデプロイメント記述子 persistence-configuration.xml
のネームスペース、スキーマの場所、ファイル構造、および要素について説明します。
Kodo の persistence-configuration.xml
ファイルのネームスペース宣言とスキーマの場所を表す正確なテキストは次のとおりです。
<persistence-configuration xmlns="http://www.bea.com/ns/weblogic/persistence-configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/persistence-configuration http://www.bea.com/ns/weblogic/persistence-configuration/1.0/persistence-configuration.xsd">
...
</persistence-configuration>
persistence-configuration.xml
デプロイメント記述子ファイルには、Oracle Kodo に固有な要素を記述します。
Kodo の persistence-configuration.xml
の最上位要素は次のとおりです。
persistence-configuration
persistence-configuration-unit
aggregate-listeners
auto-clear
auto-detaches
default-broker-factory
| abstract-store-broker-factory
|
client-broker-factory
|
jdbc-broker-factory
|
custom-broker-factory
default-broker-impl
|
kodo-broker
|
custom-broker-impl
default-class-resolver
|
custom-class-resolver
default-compatibility
|
compatibility
|
default-compatibility
connection2-driver-name
connection2-password
connection2-properties
connection2-url
connection2-user-name
connection-decorators
connection-driver-name
connection-factory2-name
connection-factory2-properties
connection-factory-mode
connection-factory-name
connection-factory-properties
connection-password
connection-properties
connection-retain-mode
connection-url
connection-user-name
data-caches
default-data-cache-manager
|
kodo-data-cache-manager
|
data-cache-manager-impl
|
custom-data-cache-manager
data-cache-timeout
access-dictionary
|
db2-dictionary
|
derby-dictionary
|
empress-dictionary
|
foxpro-dictionary
|
hsql-dictionary
|
informix-dictionary
|
jdatastore-dictionary
|
mysql-dictionary
|
oracle-dictionary
|
pointbase-dictionary
|
postgres-dictionary
|
sql-server-dictionary
|
sybase-dictionary
|
custom-dictionary
default-detach-state
|
detach-options-loaded
|
detach-options-fetch-groups
|
detach-options-all
|
custom-detach-state
default-driver-data-source
|
kodo-pooling-data-source
|
simple-driver-data-source
|
custom-driver-data-source
stack-execution-context-name-provider
|
transaction-name-execution-context-name-provider
|
user-object-execution-context-name-provider
none-profiling
|
local-profiling
|
export-profiling
|
gui-profiling
none-jmx
|
local-jmx
|
gui-jmx
|
jmx2-jmx
|
mx4j1-jmx
|
wls81-jmx
dynamic-data-structs
eager-fetch-mode
fetch-batch-size
fetch-direction
fetch-groups
filter-listeners
flush-before-queries
ignore-changes
inverse-manager
jdbc-listeners
default-lock-manager
|
pessimistic-lock-manager
|
none-lock-manager
|
single-jvm-exclusive-lock-manager
|
version-lock-manager
|
custom-lock-manager
lock-timeout
commons-log-factory
|
log4j-log-factory
|
log-factory-impl
|
none-log-factory
|
custom-log
lrs-size
mapping
default-mapping-defaults
|
deprecated-jdo-mapping-defaults
|
mapping-defaults-impl
|
persistence-mapping-defaults
|
custom-mapping-defaults
extension-deprecated-jdo-mapping-factory
|
kodo-persistence-mapping-factory
|
mapping-file-deprecated-jdo-mapping-factory
|
orm-file-jdor-mapping-factory
|
table-deprecated-jdo-mapping-factory
|
table-jdor-mapping-factory
|
custom-mapping-factory
default-meta-data-factory
|
jdo-meta-data-factory
|
deprecated-jdo-meta-data-factory
|
kodo-persistence-meta-data-factory
|
custom-meta-data-factory
default-meta-data-repository
|
kodo-mapping-repository
|
custom-meta-data-repository
multithreaded
nontransactional-read
nontransactional-write
optimistic
default-orphaned-key-action
|
log-orphaned-key-action
|
exception-orphaned-key-action
|
none-orphaned-key-action
|
custom-orphaned-key-action
http-transport
|
tcp-transport
|
custom-persistence-server
default-proxy-manager
|
profiling-proxy-manager
|
proxy-manger-impl
|
custom-proxy-manager
query-caches
default-query-compilation-cache
|
cache-map
|
concurrent-hash-map
|
custom-query-compilation-cache
read-lock-level
jms-remote-commit-provider
|
single-jvm-remote-commit-provider
|
tcp-remote-commit-provider
|
cluster-remote-commit-provider
|
custom-remote-commit-provider
restore-state
result-set-type
retain-state
retry-class-registration
default-savepoint-manager
|
in-memory-savepoint-manager
|
jdbc3-savepoint-manager
|
oracle-savepoint-manager
|
custom-savepoint-manager
schema
default-schema-factory
|
dynamic-schema-factory
|
file-schema-factory
|
lazy-schema-factory
|
table-schema-factory
|
custom-schema-factory
schemas
class-table-jdbc-seq
|
native-jdbc-seq
|
table-jdbc-seq
|
time-seeded-seq
|
value-table-jdbc-seq
|
custom-seq
default-sql-factory
|
kodo-sql-factory
|
custom-sql-factory
subclass-fetch-mode
synchronize-mappings
transaction-isolation
transaction-mode
default-update-manager
|
constraint-update-manager
|
batching-operation-order-update-manager
|
operation-order-update-manager
|
table-lock-update-manager
|
custom-update-manager
write-lock-level
以下の persistence-configuration.xml
要素のリストには、このリリースの Kodo でサポートされているすべての要素が含まれています。
使用する kodo.kernel.BrokerFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、abstractstore)。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerFactory」を参照してください。
<abstract-store-broker-factory/>
Access ディクショナリのコンフィグレーション値を定義します。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Access ディクショナリのコンフィグレーション」を参照してください。
<access-dictionary>
<char-type-name>CHAR</char-type-name>
<outer-join-clause>LEFT OUTER JOIN</outer-join-clause>
<binary-type-name>BINARY</binary-type-name>
<clob-type-name>CLOB</clob-type-name>
<supports-locking-with-distinct-clause>true</supports-locking-with-distinct-clause>
<simulate-locking>false</simulate-locking>
<system-tables>true</system-tables>
<concatenate-function>({0}||{1})</concatenate-function>
<substring-function-name>SUBSTR</substring-function-name>
<supports-query-timeout>true</supports-query-timeout>
<use-set-bytes-for-blobs>true</use-set-bytes-for-blobs>
<max-constraint-name-length>18</max-constraint-name-length>
<search-string-escape>\\</search-string-escape>
<supports-cascade-update-action>true</supports-cascade-update-action>
<string-length-function>CHAR_LENGTH({0})</string-length-function>
<long-varbinary-type-name>LONGVARBINARY</long-varbinary-type-name>
<supports-unique-constraints>true</supports-unique-constraints>
<supports-restrict-delete-action>true</supports-restrict-delete-action>
<trim-leading-function>LTRIM(LEADING '{1}' from {0})</trim-leading-function>
<supports-default-delete-action>false</supports-default-delete-action>
<next-sequence-query></next-sequence-query>
<long-varchar-type-name>LONGVARCHAR</long-varchar-type-name>
<cross-join-clause>CROSS JOIN</cross-join-clause>
<max-embedded-clob-size>-1</max-embedded-clob-size>
<date-type-name>DATE</date-type-name>
<supports-schema-for-get-tables>true</supports-schema-for-get-tables>
<supports-alter-table-with-drop-column>true</supports-alter-table-with-drop-column>
<current-time-function>CURRENT_TIME</current-time-function>
<requires-condition-for-cross-join>false</requires-condition-for-cross-join>
<ref-type-name>REF</ref-type-name>
<concatenate-delimiter>'OPENJPATOKEN'</concatenate-delimiter>
<catalog-separator>.</catalog-separator>
<supports-mod-operator>false</supports-mod-operator>
<schema-case>upper</schema-case>
<java-object-type-name>JAVA_OBJECT</java-object-type-name>
<driver-vendor></driver-vendor>
<supports-locking-with-multiple-tables>true</supports-locking-with-multiple-tables>
<max-column-name-length>128</max-column-name-length>
<double-type-name>DOUBLE</double-type-name>
<use-get-string-for-clobs>false</use-get-string-for-clobs>
<decimal-type-name>DECIMAL</decimal-type-name>
<smallint-type-name>SMALLINT</smallint-type-name>
<date-precision>1000000</date-precision>
<supports-alter-table-with-add-column>true</supports-alter-table-with-add-column>
<bit-type-name>BIT</bit-type-name>
<supports-null-table-for-get-columns>true</supports-null-table-for-get-columns>
<to-upper-case-function>UPPER({0}))</to-upper-case-function>
<supports-select-end-index>false</supprots-select-end-index>
<supports-auto-assign>false</supports-auto-assign>
<store-large-numbers-as-strings>false</store-large-numbers-as-strings>
<constraint-name-mode>before</constraint-name-mode>
<allows-alias-in-bulk-clause>true</allows-alias-in-bulk-clause>
<supports-select-for-update>true</supports-select-for-update>
<distinct-count-column-separator></distinct-count-column-separator>
<supports-subselect>true</supports-subselect>
<time-type-name>TIME</time-type-name>
<auto-assign-type-name></auto-assign-type-name>
<use-get-object-for-blobs>false</use-get-object-for-blobs>
<max-auto-assign-name-length>31</max-auto-assign-name-length>
<validation-sql></validation-sql>
<struct-type-name>STRUCT</struct-type-name>
<varchar-type-name>VARCHAR</varchar-type-name>
<range-position>0</range-position>
<supports-restrict-update-action>true</supports-restrict-update-action>
<auto-assign-clause></auto-assign-clause>
<supports-multiple-nontransactional-result-sets>true</supports-multiple-nontransactional-result-sets>
<bit-length-function>(OCTET_LENGTH({0}) * 8)</bit-length-function>
<create-primary-keys>true</create-primary-keys>
<null-type-name>NULL</null-type-name>
<float-type-name>FLOAT</float-type-name>
<use-get-bytes-for-blobs>true</use-get-bytes-for-blobs>
<table-types>TABLE</table-types>
<numeric-type-name>NUMERIC</numeric-type-name>
<table-for-update-clause></table-for-update-clause>
<integer-type-name>INTEGER<integer-type-name>
<blob-type-name>BLOB</blob-type-name>
<for-update-clause>FOR UPDATE</for-update-clause>
<boolean-type-name>BOOLEAN</boolean-type-name>
<use-get-best-row-identifier-for-primary-keys>false</use-get-best-row-identifier-for-primary-keys>
<supports-foreign-keys>true</supports-foreign-keys>
<drop-table-sql>DROP TABLE {0}</drop-table-sql>
<use-set-string-for-clobs>false</use-set-string-for-clobs>
<supports-locking-with-order-clause>false</supports-locking-with-order-clause>
<platform>Generic</platform>
<fixed-size-type-names></fixed-size-type-names>
<store-chars-as-numbers>true</store-chars-as-numbers>
<max-indexes-per-table>2147483647</max-indexes-per-table>
<requires-cast-for-comparisons>false</requires-cast-for-comparisons>
<supports-having>true</supports-having>
<supports-locking-with-outer-join>true</supports-locking-with-outer-join>
<supports-correlated-subselect>true</supports-correlated-subselect>
<supports-null-table-for-get-imported-keys>false</supports-null-table-for-get-imported-keys>
<bigint-type-name>BIGINT</bigint-type-name>
<last-generated-key-query></last-generated-key-query>
<reserved-words></reserved-words>
<supports-null-update-action>true</supports-null-update-action>
<use-schema-name>true</use-schema-name>
<supports-deferred-constraints>true</supports-deferred-constraints>
<real-type-name>REAL</real-type-name>
<requires-alias-for-subselect>false</requires-alias-for-subselect>
<supports-null-table-for-get-index-info>false</supports-null-table-for-get-index-info>
<trim-trailing-function>TRIM(TRAILING '{1}' FROM {0}))</trim-trailing-function>
<supports-locking-with-select-range>true</supports-locking-with-select-range>
<storage-limitations-fatal>false</storage-limitations-fatal>
<supports-locking-with-inner-join>true</supports-locking-with-inner-join>
<current-timestamp-function>CURRENT_TIMESTAMP</current-timestamp-funct <cast-function>CAST({0} AS {1})</cast-function>
<other-type-name>OTHER</other-type-name>
<max-index-name-length>128</max-index-name-length>
<distinct-type-name>DISTINCT</distinct-type-name>
<character-column-size>255</character-column-size>
<varbinary-type-name>VARBINARY</varbinary-type-name>
<max-table-name-length>128</max-table-name-length>
<close-pool-sql></close-pool-sql>
<current-date-function>CURRENT_DATE</current-date-function>
<join-syntax>sql92</join-syntax>
<max-embedded-blob-size>-1</max-embedded-blob-size>
<trim-both-function>TRIM(BOTH '{1}' FROM {0})</trim-both-function>
<supports-select-start-index>false</supports-select-start-index>
<to-lower-case-function>LOWER({0})</to-lower-case-function>
<array-type-name>ARRAY</array-type-name>
<inner-join-clause>INNER JOIN</inner-join-clause>
<supports-default-update-action>true</supports-default-update-action>
<supports-schema-for-get-columns>true</supports-schema-for-get-columns>
<tinyint-type-name>TINYINT</tinyint-type-name>
<supports-null-table-for-get-primary-keys>false</supports-null-table-for-get-primary-keys>
<system-schemas></system-schemas>
<requires-cast-for-math-functions>false</requires-cast-for-math-functions>
<supports-null-delete-action>true</supports-null-delete-action>
<requires-auto-commit-for-meta-data>false</requires-auto-commit-for-meta-data>
<timestamp-type-name>TIMESTAMP</timestamp-type-name>
<initialization-sql></initialization-sql>
<supports-cascade-delete-action>true</supports-cascade-delete-action>
<supports-timestamp-nanos>true</supports-timestamp-nanos>
</access-dictionary>
デタッチされたオブジェクトのアンロード フィールドへのアクセスを許可するかどうかを指定するフラグ。false
に設定すると、アンロード フィールドへのアクセス時に例外が送出されます。このオプションは、デタッチ状態マネージャを使用している場合にのみ利用できます。
デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<access-unloaded>true</access-unloaded>
インバース マネージャによって双方向の関係に不整合が検出されたときに実行する処理を制御します。有効なオプションは次のとおりです。
詳細については、『Kodo Developer’s Guide』の「Managed Inverses」を参照してください。
<action>warn</action>
通知の送信先となる IP アドレスを、セミコロン区切りのリストで指定します。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<addresses>[]</addresses>
高度な SQL 機能をコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.SQLFactory」を参照してください。
すべてのクエリで利用できる集約リスナのリストを指定します。各リスナは、org.apache.openjpa.kernel.exps.AggregateListener
インタフェースを実装する必要があります。詳細については、『Kodo Developer’s Guide』の「kodo.AggregateListeners」を参照してください。
<aggregate-listeners>
<custom-aggregate-listener>
<classname>...</classname>
<properties>...</properties>
</custom-aggregate-listener>
</aggregate-listener>
各データベース アクセス処理でメモリに割り当てる値の数を指定します。50 がデフォルト値です。これは、シーケンス テーブルにアクセスするたびに次の 50 の値がクラスで除外されることを意味します。この場合、Kodo は、50 のシーケンス値の要求につき 1 回のみデータベースにアクセスし、新しいシーケンス値を取得します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<allocate>50</allocate>
メータデータで宣言されている要素型に割り当てられない要素をコレクションやマップに追加しようとした際に、すぐに例外を送出するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<assert-allowed-type>false</assert-allowed-type>
トランザクションへの移行時にオブジェクトのフィールド値をクリアするかどうかを制御します。有効な値は以下のとおりです。
<auto-clear>datastore</auto-clear>
管理対象インスタンスが自動的にデタッチされるイベントを指定します。auto-detaches
要素の子として指定する場合、次のタイプのイベントを指定できます。
詳細については、『Kodo Developer’s Guide』の「Automatic Detachment」を参照してください。
<auto-detach>close</auto-detach>
管理対象インスタンスが自動的にデタッチされるイベントのリストを指定します。1 つまたは複数の auto-detach
要素を指定します。詳細については、『Kodo Developer’s Guide』の「Automatic Detachment」を参照してください。
<auto-detaches>
<auto-detach>close</auto-detach>
</auto-detaches>
作成するエクスポート データ ファイルのベース名を定義します。詳細については、『Kodo Developer’s Guide』の「Dumping Profiling Data to Disk from a Batch Process」を参照してください。
<base-name>base</base-name>
外部キーおよびテーブルレベルのロックを無視し、アプリケーションがオブジェクトを変更した順序に基づいて最適化する、ステートメントのバッチ処理が可能な更新マネージャを定義します。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」および「Statement Batching」を参照してください。
<batching-operation-order-update-manager>
<maximize-batch-size>true</maximize-batch-size>
</batching-operation-order-update-manager>
リモート コミット プロバイダのバッファ サイズを指定します。詳細については、『Kodo Developer’s Guide』の「Remote Commit Provider Configuration」を参照してください。
<buffer-size>10</buffer-size>
クエリ文字列とその解析形式の関連付けに使用するキャッシュ マップを定義します。詳細については、『Kodo Developer’s Guide』の「Query Compilation Cache」を参照してください。
<cache-map>
<cache-size>1000</cache-size>
<soft-reference-size>-1</soft-reference-size>
</cache-map>
データまたはクエリのキャッシュ サイズを設定します。詳細については、『Kodo Developer’s Guide』の「Configuring the Data Cache Size」および「Query Cache」を参照してください。
<cache-size>1000</cache-size>
ログを記録するチャネルを指定します。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<channel>openjpa.Runtime</channel>
独自のカスタム ジェネレータの作成に使用する kodo.kernel.Seq
インタフェースを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.kernel.TableJDBCSeq
)。
TableJDBCSeq
は、特殊な単一行のテーブルにグローバル シーケンス番号を格納します。このテーブルは、このテーブルを必要とするクラスに対してマッピング ツールを最初に実行したときに存在しない場合は作成されます。テーブルの操作には、そのクラスの main
メソッドや sequencetable
シェル/バッチ スクリプトを使用することもできます (使用方法の詳細については、Javadoc の TableJDBCSeq.main
メソッドを参照)。
詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<class-table-jdbc-seq>
<type>0</type>
<allocate>50</allocate>
<table-name>OPENJPA_SEQUENCES_TABLE</table-name>
<ignore-virtual>false</ignore-virtual>
<ignore-unmapped>false</ignore-unmapped>
<table>OPENJPA_SEQUENCES_TABLE</table>
<primary-key-column>ID</primary-key-column>
<use-aliases>false</use-aliases>
<sequence-column>SEQUENCE_VALUE</sequence-column>
<increment>1</increment>
</class-table-jdbc-seq>
現在のクラスパスにリストされるディレクトリまたは jar アーカイブを、セミコロン区切りのリストで指定します。各ディレクトリおよび jar アーカイブでは、現在のメタデータ ファクトリに基づいて、アノテーションが付いた JP エンティティまたは JDO メタデータ ファイルがスキャンされます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<classpath-scan>build</classpath-scan>
EntityManagerFactory
または PersistenceManagerFactory
の終了時に、Tangosol 指定のキャッシュを完全にクリアするかどうかを指定するフラグ。
<clear-on-close>false</clear-on-close>
使用する kodo.kernel.BrokerFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、remote)。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerFactory」を参照してください。
<client-broker-factory/>
管理対象トランザクションのコミット後に、close メソッドを呼び出したものと想定し、JDO PersistenceManager を終了するかどうかを指定するフラグ。
false
に設定すると、PersistenceManager
は終了しません。つまり、同じ JVM の処理層に渡されたオブジェクトは、所有している PersistenceManager
が終了しないため、使用可能なままになります。この動作は、JDO 仕様に厳密に準拠するわけではありませんが、こうした状況で PersistenceManager
を終了しない Kodo 2.x に対してコーディングされたアプリケーションには便利です。
詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<close-on-managed-commit>false</close-on-managed-commit>
クラスタ内の persistenceManagerFactory
間でコミット通知を共有するようコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Remote Commit Provider Configuration」を参照してください。
<cluster-remote-commit-provider>
<name>kodo.RemoteCommitProvider</name>
<buffer-size>10</buffer-size>
<recover-action>none</recover-action>
</cluster-remote-commit-provider>
ログ メッセージの発行に使用する Apache Jakarta Commons Logging シン ライブラリを指定します。Commons Logging ライブラリは、Jakarta Log4J プロジェクトや JDK 1.4 のネイティブ java.util.logging package
など、よく利用されている多くのロギング API のラッパーとして機能します。これらのライブラリがどちらも利用できない場合は、単純なコンソールでのロギングが使用されます。
詳細については、『Kodo Developer’s Guide』の「Apache Commons Logging」を参照してください。
<commons-log-factory/>
実行時の特定の動作について下位互換性の設定をコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<compatibility>
<copy-object-ids>false</copy-object-ids>
<close-on-managed-commit>true</close-on-managed-commit>
<validate-true-checks-store>false</validate-true-checks-store>
<validate-false-returns-hollow>true</validate-false-returns-hollow>
<strict-identity-values>false</strict-identity-values>
<quoted-numbers-in-queries>false</quoted-numbers-in-queries>
</compatibility>
クエリ文字列とその解析形式の関連付けに使用する同時ハッシュ マップを定義します。詳細については、『Kodo Developer’s Guide』の「Query Compilation Cache」を参照してください。
<concurrent-hash-map>
<max-size>2147483647</max-size>
</concurrent-hash-map>
接続ファクトリ上にインストールする org.apache.openjpa.lib.jdbc.ConnectionDecorator
実装を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。1 つまたは複数の custom-connection-decorator
要素を指定します。
これらのデコレータは、基底の DataSource
から渡された接続をラップして機能性を高めることができます。Kodo では、すべての接続が使用される前にデコレータのリストを介して渡されます。
注意 : | Kodo JPA/JDO では、com.solarmetric.jdbc パッケージ内の組み込みデコレータがデフォルトで使用されるため、この要素でデコレータを指定する必要はありません。 |
詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.ConnectionDecorators」を参照してください。
<connection-decorators>
<custom-connection-decorator>
<classname>...</classname>
<properties>...</properties>
</custom-connection-decorator>
</connection-decorators>
データベースへの接続に使用する JDBC の java.sql.Driver
または javax.sql.DataSource
実装の完全修飾クラス名。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
COM.FirstSQL.Dbcp.DbcpDriver
COM.cloudscape.core.JDBCDriver
COM.ibm.db2.jdbc.app.DB2Driver
COM.ibm.db2.jdbc.net.DB2Driver
centura.java.sqlbase.SqlbaseDriver
com.ddtek.jdbc.db2.DB2Driver
com.ddtek.jdbc.oracle.OracleDriver|
com.ddtek.jdbc.sqlserver.SQLServerDriver
com.ddtek.jdbc.sybase.SybaseDriver
com.ibm.as400.access.AS400JDBCDriver
com.imaginary.sql.msql.MsqlDriver
com.inet.tds.TdsDriver
com.informix.jdbc.IfxDriver
com.internetcds.jdbc.tds.Driver
com.jnetdirect.jsql.JSQLDriver
com.mckoi.JDBCDriver
com.microsoft.jdbc.sqlserver.SQLServerDriver
com.mysql.jdbc.DatabaseMetaData
com.mysql.jdbc.Driver
com.pointbase.jdbc.jdbcUniversalDriver
com.sap.dbtech.jdbc.DriverSapDB
com.sybase.jdbc.SybDriver
com.sybase.jdbc2.jdbc.SybDriver
com.thinweb.tds.Driver
in.co.daffodil.db.jdbc.DaffodilDBDriver
interbase.interclient.Driver
intersolv.jdbc.sequelink.SequeLinkDriver
openlink.jdbc2.Driver
oracle.jdbc.driver.OracleDriver
oracle.jdbc.pool.OracleDataSource
org.axiondb.jdbc.AxionDriver
org.enhydra.instantdb.jdbc.idbDriver
org.gjt.mm.mysql.Driver
org.hsql.jdbcDriver
org.hsqldb.jdbcDriver
org.postgresql.Driver
org.sourceforge.jxdbcon.JXDBConDriver|
postgres95.PGDriver
postgresql.Driver
solid.jdbc.SolidDriver
sun.jdbc.odbc.JdbcOdbcDriver
weblogic.jdbc.mssqlserver4.Driver
weblogic.jdbc.pool.Driver
<connection-driver-name>oracle.jdbc.driver.OracleDriver</connection-driver-name>
アプリケーション サーバの管理対象トランザクションとの統合時に使用する接続ファクトリのモード。有効なオプションは次のとおりです。
詳細については、『Kodo Developer’s Guide』の「Managed and XA DataSources」を参照してください。
<connection-factory-mode>local</connection-factory-mode>
データベースへの接続に使用する javax.sql.DataSource の JNDI の場所。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<connection-factory-name>java:/OracleSource</connection-factory-name>
使用している javax.sql.DataSource
のコンフィグレーション プロパティをリストするプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<connection-factory-properties>
<property>
<name>QueryTimeout</name>
<value>5000</value>
<name>MaxIdle</name>
<value>1</value>
</property>
</connection-factory-properties>
データベースへの接続に使用する非管理対象の javax.sql.DataSource
の JNDI の場所。詳細については、『Kodo Developer’s Guide』の「XA Transactions」を参照してください。
<connection-factory2-name>java:/OracleXASource</connection-factory2-name>
非管理対象の ConnectionFactory として使用する javax.sql.DataSource
のコンフィグレーション プロパティ。詳細については、『Kodo Developer’s Guide』の「Managed and XA DataSources」を参照してください。
<connection-factory2-properties>
<property>
<name>MaxActive</name>
<value>20</value>
<name>MaxIdle</name>
<value>1</value>
</property>
</connection-factory2-properties>
connection-user-name
で指定されるユーザのパスワード。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<connection-password>tiger</connection-password>
connection-driver-name
要素にリストされるドライバのコンフィグレーション プロパティをリストするプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。これらのプロパティは、与えられたドライバ クラスが DataSource である場合、その DataSource の Bean プロパティのコンフィグレーションに使用されます。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<connection-properties>
<property>
<name>PortNumber</name>
<value>1521</value>
</property>
<property>
<name>ServerName</name>
<value>saturn</value>
</property>
<property>
<name>DatabaseName</name>
<value>solarisid</value>
</property>
<property>
<name>DriverType</name>
<value>thin</value>
</property>
</connection-properties>
データストア接続の使用方法を制御します。有効な値は以下のとおりです。
always
- 各 EntityManager
または PersistenceManager
が単一の接続を取得し、EntityManager
または PersistenceManager
が終了するまでその接続を使用します。 on-demand
- 接続は必要時にのみ取得されます。このオプションは、データストア トランザクションが使用されている場合、transaction
オプションと同じです。ただし、オプティミスティック トランザクションの場合は、データストアのフラッシュおよびコミット プロセス中にのみ接続が保持されることになります。persistence-manager
- 接続は永続性マネージャから取得されます。transaction
- 接続は各トランザクション (オプティミスティックまたはデータストア) の開始時に取得され、トランザクションの完了時にリリースされます。非トランザクション接続は、必要に応じて取得されます。
詳細については、『Kodo Developer’s Guide』の「Configuring the Use of JDBC Connections」を参照してください。
<connection-retain-mode>on-demand</connection-retain-mode>
データベースの JDBC URL。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
jdbc:JSQLConnect://<hostname>/database=<database>
jdbc:cloudscape:<database>;create=true
jdbc:daffodilDB_embedded:<database>;create=true
jdbc:datadirect:db2://<hostname>:50000;databaseName=<database>
jdbc:datadirect:oracle://<hostname>:1521;SID=<database>;MaxPooledStatements=0
jdbc:datadirect:sqlserver://<hostname>:1433;SelectMethod=cursor;DatabaseName=<database>
jdbc:datadirect:sybase://<hostname>:5000
jdbc:db2://<hostname>/<database>
jdbc:dbaw://<hostname>:8889/<database>
jdbc:hsqldb:<database>
jdbc:idb:<database>.properties
jdbc:inetdae:<hostname>:1433
jdbc:informix-sqli://<hostname>:1526/<database>:INFORMIXSERVER=<database>
jdbc:interbase://<hostname>//<database>.gdb
jdbc:microsoft:sqlserver://<hostname>:1433;DatabaseName=<database>;SelectMethod=cursor
jdbc:mysql://<hostname>/<database>?autoReconnect=true
jdbc:odbc:<database>
jdbc:openlink://<hostname>/DSN=SQLServerDB/UID=sa/PWD=
jdbc:oracle:thin:@<hostname>:1521:<database>
jdbc:postgresql://<hostname>:5432/<database>
jdbc:postgresql:net//<hostname>/<database>
jdbc:sequelink://<hostname>:4003/[Oracle]
jdbc:sequelink://<hostname>:4004/[Informix];Database=<database>
jdbc:sequelink://<hostname>:4005/[Sybase];Database=<database>
jdbc:sequelink://<hostname>:4006/[SQLServer];Database=<database>
jdbc:sequelink://<hostname>:4011/[ODBC MS Access];Database=<database>
jdbc:solid://<hostname>:<port>/<UID>/<PWD>
jdbc:sybase:Tds:<hostname>:4100/<database>?ServiceName=<database>
jdbc:twtds:sqlserver://<hostname>/<database>
jdbc:weblogic:mssqlserver4:<database>@<hostname>:1433
<connection-url>
jdbc:oracle:thin:@<hostname>:1521:<database>
</connection-url>
connection-url
で指定されているデータ ソースへの接続に使用するユーザ名。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<connection-user-name>scott</connection-user-name>
非管理対象データベースへの接続に使用する JDBC の java.sql.Driver
または javax.sql.DataSource
実装の完全修飾クラス名。詳細については、『Kodo Developer’s Guide』の「Managed and XA DataSources」を参照してください。
<connection2-driver-name>oracle.jdbc.driver.OracleDriver</connection2-driver-name>
connection2-url
で指定されている非管理対象データ ソースのパスワード。
<connection2-password>tiger</connection2-password>
connection2-driver-name
で指定されている非管理対象データ ソースのプロパティ。詳細については、『Kodo Developer’s Guide』の「Managed and XA DataSources」を参照してください。
<connection2-properties>
<property>
<name>PortNumber</name>
<value>1521</value>
</property>
<property>
<name>ServerName</name>
<value>saturn</value>
</property>
<property>
<name>DatabaseName</name>
<value>solarisid</value>
</property>
<property>
<name>DriverType</name>
<value>thin</value>
</property>
</connection2-properties>
非管理対象データソースの JDBC URL。詳細については、『Kodo Developer’s Guide』の「Managed and XA DataSources」を参照してください。
<connection2-url>jdbc:oracle:thin:@CROM:1521:KodoDB</connection2-url>
connection2-driver-name
で指定されているデータ ソースへの接続に使用するユーザ名。
<connection2-user-name>scott</connection2-user-name>
生成されるすべてのマッピングに一意制約や外部キーの名前を含めるかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<constraint-names>false</constraint-names>
ステートメントのバッチ処理および外部キー制約の評価が可能な、標準の更新マネージャを定義します。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」および「Statement Batching」を参照してください。
<constraint-update-manager>
<maximize-batch-size>true</maximize-batch-size>
</constraint-update-manager>
oid
オブジェクトが返される前にコピーするかどうかを指定するフラグ。3.0 より前のバージョンの Kodo では、oid
オブジェクトが返される前に常にコピーされていました。これにより、oid
オブジェクトを参照で変更することによって生じるエラーを回避することができますが、oid
インスタンスを変更しない大多数のユーザにとっては効率が良くありませんでした。したがって、3.0 以上の Kodo では、oid
はデフォルトではコピーされません。このプロパティを true
に設定すると、oid
がコピーされます。
詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<copy-object-ids>false</copy-object-ids>
カスタム集約リスナを定義します。各リスナは、org.apache.openjpa.kernel.exps.AggregateListener
インタフェースを実装する必要があります。詳細については、『Kodo Developer’s Guide』の「kodo.AggregateListeners」を参照してください。
<aggregate-listeners>
<custom-aggregate-listener>
<classname>...</classname>
<properties>...</properties>
</custom-aggregate-listener>
</aggregate-listener>
カスタム ブローカ ファクトリを指定することができます。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerFactory」を参照してください。
<custom-broker-factory>
<classname>...</classname>
<properties>...</properties>
</custom-broker-factory>
カスタム ブローカ実装を定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerImpl」を参照してください。
<custom-broker-impl>
<classname>...</classname>
<properties>...</properties>
</custom-broker-impl>
クラス名を解決するためのカスタム クラス リゾルバを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.ClassResolver」を参照してください。
<custom-class-resolver>
<classname>...</classname>
<properties>...</properties>
</custom-class-resolver>
独自のカスタム互換性フラグを定義することができます。詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<custom-compatibility>
<classname>...</classname>
<properties>...</properties>
</custom-compatibility>
すべての接続プール上にインストールするカスタム org.apache.openjpa.lib.jdbc.ConnectionDecorator
実装を定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.ConnectionDecorators」を参照してください。
<connection-decorators>
<custom-connection-decorator>
<classname>...</classname>
<properties>...</properties>
</custom-connection-decorator>
</connection-decorators>
カスタム データ キャッシュを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.DataCache」を参照してください。
<data-caches>
<custom-data-cache>
<name>...</name>
<classname>...</classname>
<properties>...</properties>
</custom-data-cache>
</data-caches>
カスタム データ キャッシュ マネージャを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.DataCacheManager」を参照してください。
<custom-data-cache-manager>
<classname>...</classname>
<properties>...</properties>
</custom-data-cache-manager>
カスタム デタッチ状態を定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.DetachState」を参照してください。
<custom-detach-state>
<classname>...</classname
<properties>...</properties>
</custom-detach-state>
カスタム ディクショナリを定義することができます。詳細については、Administration Console オンライン ヘルプの「カスタム ディクショナリのコンフィグレーション」を参照してください。
<custom-dictionary>
<name>custom-dictionary</name
<classname>..</classname>
<properties>...</properties>
</custom-dictionary>
カスタム データソース ドライバを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.DriverDataSource」を参照してください。
<custom-driver-data-source>
<classname>...</classname
<properties>...</properties>
</custom-driver-data-source>
カスタム フィルタ リスナを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.FilterListeners」を参照してください。
<filter-listeners>
<custom-filter-listener>
<classname>...</classname>
<properties>...</properties>
</custom-filter-listener>
</filter-listeners>
カスタム JDBC リスナを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.JDBCListeners」を参照してください。
<jdbc-listeners>
<custom-jdbc-listener>
<classname>...</classname>
<properties>...</properties>
</custom-jdbc-listener>
</jdbc-listeners>
カスタム ロック マネージャを定義することができます。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<custom-lock-manager>
<classname>...</classname>
<properties>...</properties>
</custom-lock-manager>
カスタム ログ ファイルを定義することができます。詳細については、『Kodo Developer’s Guide』の「Custom Log」を参照してください。
<custom-log>
<classname>...</classname>
<properties>...</properties>
</custom-log>
マッピングのカスタム デフォルト設定を定義することができます。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<custom-mapping-defaults>
<classname>...</classname
<properties>...</properties>
</custom-mapping-defaults>
カスタム マッピング ファクトリを指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<custom-mapping-factory/>
カスタム メタデータ ファクトリを指定することができます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<custom-meta-data-factory>
<classname>...</classname>
<properties>...</properties>
</custom-meta-data-factory>
カスタム メタデータ リポジトリを指定することができます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<custom-meta-data-repository>
<classname>...</classname>
<properties>...</properties>
</custom-meta-data-repository>
孤立キーのカスタム動作を定義することができます。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<custom-orphaned-key-action>
<channel>openjpa.Runtime</channel>
<level>4</level>
<classname>...</classname>
<properties>...</properties>
</custom-orphaned-key-action>
カスタム永続性サーバを定義することができます。詳細については、『Kodo Developer’s Guide』の「Standalone Persistence Server」を参照してください。
<custom-persistence-server>
<classname>...</classname>
<properties>...</properties>
</custom-persistence-server>
カスタム プロキシ マネージャを定義することができます。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<custom-proxy-manager>
<classname>...</classname
<properties>...</properties>
</custom-proxy-manager>
カスタム クエリ コンパイル キャッシュを定義することができます。詳細については、『Kodo Developer’s Guide』の「Query Compilation Cache」を参照してください。
<custom-query-compilation-cache>
<classname>...</classname
<properties>...</properties>
</custom-query-compilation-cache>
カスタム リモート コミット プロバイダを指定することができます。詳細については、『Kodo Developer’s Guide』の「JMS」を参照してください。
<custom-remote-commit-provider>
<name>kodo.RemoteCommitProvider</name>
<classname>...</classname>
<properties>...</properties>
</custom-remote-commit-provider>
カスタム セーブポイント マネージャを指定することができます。詳細については、『Kodo Developer’s Guide』の「Savepoints」を参照してください。
<custom-savepoint-manager>
<classname>...</classname>
<properties>...</properties>
</custom-savepoint-manager>
カスタム スキーマ ファクトリを指定します。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<custom-schema-factory>
<classname>...</classname>
<properties>...</properties>
</custom-schema-factory>
カスタム ジェネレータを定義することができます。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<custom-seq>
<classname>...</classname
<properties>...</properties>
</custom-seq>
カスタム SQL ファクトリを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.SQLFactory」を参照してください。
<custom-sql-factory>
<classname>...</classname>
<properties>...</properties>
</custom-sql-factory>
永続オブジェクトの変更をデータストアへフラッシュするために使用する、カスタム更新マネージャを定義することができます。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」を参照してください。
<custom-update-manager>
<classname>..</classname>
<properties>...</properties>
</custom-update-manager>
データストアからロードされたデータのキャッシュに使用するプラグインを指定します。org.apache.openjpa.datacache.DataCache
を実装する必要があります。詳細については、『Kodo Developer’s Guide』の「Data Cache」を参照してください。
<data-caches>
<default-data-cache>...</default-data-cache>
<kodo-concurrent-data-cache>...</kodo-concurrent-data-cache>
<gem-fire-data-cache>...</gem-fire-data-cache>
<lru-data-cache>...</lru-data-cache>
<tangosol-data-cache>...</tangosol-data-cache>
<custom-data-cache>...</custom-data-cache>
</data-caches>
システム データ キャッシュを管理する kodo.datacache.DataCacheManager
を有効にします。詳細については、『Kodo Developer’s Guide』の「kodo.DataCacheManager」を参照してください。
<data-cache-manager-impl/>
クラスのデータを有効に保つ時間をミリ秒単位で指定します。-1
を指定すると、期限が設定されません。詳細については、『Kodo Developer’s Guide』の「Setting the Data Cache Timeout Value」を参照してください。
<data-cache-timeout>-1</data-cache-timeout>
DB2 ディクショナリの永続性プラグインのコンフィグレーション値を定義します。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「DB2 ディクショナリのコンフィグレーション」を参照してください。
db2-dictionary
要素の下位要素は、access-dictionary と同じです。
デフォルトのアクセス タイプを指定します。有効な値は以下のとおりです。
詳細については、『Kodo Developer’s Guide』の「Field and Property Metadata」を参照してください。
<default-access-type>FIELD</default-access-type>
使用する kodo.kernel.BrokerFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの JDBC)。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerFactory」を参照してください。
<default-broker-factory/>
実行時に使用する kodo.kernel.Broker
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerImpl」を参照してください。
<default-broker-impl/>
クラス名の解決に使用する kodo.util.ClassResolver
実装を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。特別なクラス ロード ニーズがある場合は、独自のリゾルバを設定することもできます。詳細については、『Kodo Developer’s Guide』の「kodo.ClassResolver」を参照してください。
<default-class-resolver/>
デフォルトの互換性設定を設定します。詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<default-compatibility/>
デフォルトのデータ キャッシュを定義します。詳細については、『Kodo Developer’s Guide』の「Data Cache」を参照してください。
<data-caches>
<default-data-cache>
<name>kodo.DataCache</name>
</default-data-cache>
</data-caches>
デフォルトのデタッチ状態を指定します (ここでは、loaded
)。詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<default-detach-state/>
システム データ キャッシュを管理する kodo.datacache.DataCacheManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。詳細については、『Kodo Developer’s Guide』の「Data Cache」を参照してください。
<default-data-cache-manager>...</default-data-cache-manager>
javax.sql.DataSource
インスタンスを使用した JDBC ドライバ クラスのラップに使用するデフォルトの kodo.jdbc.schema.DriverDataSource
実装を指定します。デフォルトの実装として提供されている kodo.jdbc.schema.KodoPoolingDataSource
は、『Kodo Developer’s Guide』の「JDBC」で説明するように、接続プーリングを実行します。
<default-driver-data-source/>
コンフィグレーションされていないチャネルのデフォルトのロギング レベルを指定します。詳細については、『Kodo Developer’s Guide』の「Kodo Logging」を参照してください。
<default-level>INFO</default-level>
デフォルトのロック マネージャを使用するように指定します。詳細については、『Kodo Developer’s Guide』の「Configuring Default Locking」を参照してください。
<default-lock-manager/>
デフォルトの列名、テーブル名、および永続クラスの制約の定義に使用する kodo.jdbc.meta.MappingDefaults
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Defaults」を参照してください。
<default-mapping-defaults>jpa</default-mapping-defaults>
使用する kodo.meta.MetaDataFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.jdo.JDOMetaDataFactory
)。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<default-meta-data-factory/>
永続クラスのメタデータの格納に使用する kodo.meta.MetaDataRepository
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<default-meta-data-repository/>
孤立データストア キーの検出時に呼び出す kodo.event.OrphanedKeyAction
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.event.LogOrphanedKeyAction
)。この場合、孤立キーごとにメッセージがロギングされます。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<default-orphaned-key-action>
<channel>openjpa.Runtime</channel>
<level>4</level>
</default-orphaned-key-action>
可変の 2 つ目のクラス オブジェクトのプロキシに使用する kodo.util.ProxyManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.util.ProxyManagerImpl
)。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<default-proxy-manager/>
クエリ文字列とその解析形式の関連付けに使用するマップを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。詳細については、『Kodo Developer’s Guide』の「Query Compilation Cache」を参照してください。
<default-query-compilation-cache/>
トランザクションのセーブポイントの管理に使用する kodo.kernel.SavepointManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.kernel.InMemorySavepointManager
)。このプラグインは、フィールド値を含むすべての状態をメモリに格納します。このため、設定される各セーブポイントは、トランザクション オブジェクト数がそれほど多くない状況に対して設計されています。詳細については、『Kodo Developer’s Guide』の「Savepoints」を参照してください。
<default-savepoint-manager/>
データベース スキーマに関する情報の格納および取得に使用する kodo.jdbc.schema.SchemaFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.jdbc.schema.DynamicSchemaFactory
)。
DynamicSchemaFactory
は、データベースに対してマッピング情報を検証しないため、最もパフォーマンスの優れたスキーマ ファクトリです。代わりに、すべてのオブジェクト リレーショナル マッピング情報が正しいと想定し、現在のマッピング メタデータからスキーマのメモリ内表現を動的に構築します。このファクトリを使用するには、外部キー制約が SQL 文で満たされるよう、マッピング メタデータが現在のデータベースの外部キー制約を正しく表現している必要があります。
詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<default-schema-factory/>
一般的な SQL コンストラクトの抽象化に使用する kodo.jdbc.SQLFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルト)。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.SQLFactory」を参照してください。
<default-meta-data-factory/>
デフォルトの更新マネージャ kodo.jdbc.kernel.ConstraintUpdateManager
を使用するように指定します。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」を参照してください。
<default-update-manager/>
JDO 1.0 のマッピングのデフォルト設定を指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Defaults」を参照してください。
deprecated-jdo-mapping-defaults
要素の下位要素は、mapping-defaults-impl と同じです。
使用する kodo.meta.MetaDataFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdo.DeprecatedJDOMetaDataFactory
)。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<deprecated-jdo-meta-data-factory>
<use-schema-validation>false</use-schema-validation>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
<scan-top-down>false</scan-top-down>
</deprecated-jdo-meta-data-factory>
Derby ディクショナリをコンフィグレーションします。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Derby ディクショナリのコンフィグレーション」を参照してください。
derby-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<derby-dictionary>
...
<shutdown-on-close>true</shutdown-on-close>
</derby-dictionary>
デタッチ状態を all
に設定し、すべてのフィールドおよびリレーションをデタッチします。関連性の高いドメイン モデルを使用している場合、データベース内のすべてのオブジェクトがメモリに格納される恐れがあるため、このモードの使用には注意が必要です。詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detach-options-all>
<detached-state-manager>true</detached-state-manager>
<detached-state-transient>false</detached-state-transient>
<access-unloaded>true</access-unloaded>
<detached-state-field>true</detached-state-field>
</detach-options-all>
デフォルトのフェッチ グループ内、および現在のフェッチ コンフィグレーションに追加したその他のフェッチ グループ内のすべてのフィールドおよびリレーションをデタッチするようにデタッチ状態を設定します。詳細については、『Kodo Developer’s Guide』の「Fetch Groups」を参照してください。デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detach-options-fetch-groups>
<detached-state-manager>true</detached-state-manager>
<detached-state-transient>false</detached-state-transient>
<access-unloaded>true</access-unloaded>
<detached-state-field>true</detached-state-field>
</detach-options-fetch-groups>
ロード済みのすべてのフィールドおよびリレーションをデタッチするようデタッチ状態を設定します。ただし、ロードされていないフィールドはデタッチ グラフに含めません。これがデフォルトです。デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detach-options-loaded>
<detached-state-manager>true</detached-state-manager>
<detached-state-transient>false</detached-state-transient>
<access-unloaded>true</access-unloaded>
<detached-state-field>true</detached-state-field>
</detach-options-loaded>
デタッチ状態をコンフィグレーションします。有効な値は以下のとおりです。
デタッチ モードで特定されないフィールドはすべて、デタッチ インスタンスの Java デフォルト値に設定されます。詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detach-state>1</detach-state>
アタッチ プロセスを効率化するため、デタッチ状態フィールドを利用するかどうかを指定するフラグ。このフィールドはエンハンサによって追加され、アプリケーションには表示されません。詳細については、『Kodo Developer’s Guide』の「Attach Behavior」を参照してください。
デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detached-state-field>true</detached-state-field>
デタッチ状態マネージャを使用するかどうかを指定するフラグ。デタッチ状態マネージャを使用すると、アタッチ プロセスが効率化されますが、デタッチ状態フィールド同様、一時的でない場合は、改善されていないクラスとのシリアライゼーションに関する互換性がなくなります。
この設定は、
detached-state-field
要素に依存します。デタッチ状態フィールドが一時的なものなら、デタッチ状態マネージャも一時的になります。デタッチ状態フィールドを無効にすると、デタッチ状態マネージャも無効化されます。通常はこの設定にします。
ただし、detach-state-field 要素を true
に設定 (あるいは一時的に設定) し、このプロパティを false
に設定すると、デタッチ状態マネージャを使用せずにデタッチ状態フィールドを使用することができます。この設定は、デタッチ状態マネージャを利用しない Kodo の以前の動作に慣れていたユーザが、デタッチ状態マネージャを利用する Kodo の動作に違和感がある場合や、デバッグを行う場合に役立つ場合があります。
デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detached-state-manager>true</detached-state-manager>
デタッチ状態フィールドを一時的に使用するかどうかを指定するフラグ。true に設定すると、シリアライズされないローカル オブジェクトでデタッチ状態フィールドのメリットを利用でき、改善されていないバージョンのクラスへアクセスできないクライアント層のシリアライゼーションに関する互換性も維持されます。
デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detached-state-transient>false</detached-state-transient>
シリアライゼーションに関する互換性がないオブジェクトでも効率的にアタッチできるよう、一時的でないデタッチ状態フィールドを使用するかどうかを指定するフラグ。ただし、この機能を利用するには、改善されたバージョンのクラスおよび Kodo ライブラリがクライアント層に存在する必要があります。
デタッチ状態の詳細については、『Kodo Developer’s Guide』の「Defining the Detached Object Graph」を参照してください。
<detached-new>true</detached-new>
すべてのログ メッセージの先頭に付加する文字列。指定している場合、kodo.ID
プロパティがデフォルトで使用されます。詳細については、『Kodo Developer’s Guide』の「Kodo Logging」を参照してください。
<diagnostic-context>KodoID</diagnostic-context>
永続データを保持するカスタマイズされた構造体を動的に生成するかどうかを指定するフラグ。Kodo のデータ キャッシュとリモート フレームワークはどちらも、データ構造体に基づき永続状態のキャッシュおよび転送を行います。Kodo では、動的な構造体により、クラスごとにデータ ストレージをカスタマイズでき、プリミティブ ラッパー オブジェクトを生成せずに済みます。これによってメモリを節約し、特定の実行時処理を素早く完了することができます。
反面、カスタム クラスの生成と JVM へのロードに時間がかかるため、アプリケーションのウォームアップ時間が長くなります。したがって、アプリケーションの実行時間が長くても、メモリおよび処理時間の最適化により、クラスの初期生成コストが徐々に相殺される場合にのみ、このプロパティを true に設定してください。
詳細については、『Kodo Developer’s Guide』の「kodo.DynamicDataStructs」を参照してください。
<dynamic-data-structs>false</dynamic-data-structs>
データベース スキーマに関する情報の格納および取得に使用する kodo.jdbc.schema.SchemaFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.jdbc.schema.DynamicSchemaFactory
)。
DynamicSchemaFactory
は、データベースに対してマッピング情報を検証しないため、最もパフォーマンスの優れたスキーマ ファクトリです。代わりに、すべてのオブジェクト リレーショナル マッピング情報が正しいと想定し、現在のマッピング メタデータからスキーマのメモリ内表現を動的に構築します。このファクトリを使用するには、外部キー制約が SQL 文で満たされるよう、マッピング メタデータが現在のデータベースの外部キー制約を正しく表現している必要があります。
詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<dynamic-schema-factory/>
イーガー フェッチをコンフィグレーションします。イーガー フェッチは、サブクラス データと関連オブジェクトを、クエリ対象のベース インスタンスとともに効率的にロードする機能です。詳細については、『Kodo Developer’s Guide』の「Eager Fetching」を参照してください。
このプロパティは、以下のいずれかの値に設定することができます。
join
- このモードに設定すると、コンフィグレーションされているフェッチ グループの対 1 リレーションへの結合が行われます。単一インスタンスのデータをロードする場合は、コンフィグレーションされているフェッチ グループのコレクション フィールドへの結合も行われます。ただし、クエリの実行時など、複数インスタンスのデータをロードする場合は、コレクションへはデフォルトで結合されません。代わりに、以下に説明するように、コレクションに対してはデフォルトで parallel モードになります。コレクション フィールドに対して parallel モードではなく join モードを使用するように設定するには、『Kodo Developer’s Guide』の「Eager Fetch Mode」で説明されているメタデータ拡張を使用します。
Kodo は、join
モードの場合、左外部結合 (リレーションのフィールド メタデータで、null がそのリレーションで許可されないと宣言されている場合は内部結合) を使用して、関連データを対象オブジェクトのデータとともに選択します。このプロセスは、対 1 結合に対して再帰的に機能するため、Person が Address を、Address が TelephoneNumber を持ち、フェッチ グループが適切にコンフィグレーションされている場合、Kodo はこれら 3 つのクラスのテーブル間を結合する単一の SELECT 文を発行することができます。対多結合により、他の対多結合が再帰的に生成されることはありませんが、再帰的な対 1 結合が生成される場合があります。
join のサブクラス フェッチ モードでは、クエリ対象タイプのすべてのサブクラス テーブルへの外部結合によって、結合テーブル内のサブクラス データが選択されます。結合されていないサブクラス データは、利用可能であれば SQL UNION で選択されます。以下に示すように、サブクラス データのフェッチは、リレーション フェッチとは別にコンフィグレーションされ、特定のクラスに対して無効化することができます。
multiple
- parallel
と同じです。none
- イーガー フェッチを実行しません。関連オブジェクトは常に、独立した SELECT 文でロードされます。結合されたサブクラス データは、クエリ対象の基本タイプの 1 つまたは複数のテーブル内にない限りロードされません。結合されていないサブクラス データは、SQL UNION
演算ではなく、別個の SELECT 文でロードされます。 parallel
- このモードに設定すると、Kodo は、join モードの欄で説明したように、対 1 リレーションと結合コレクションに対して SELECT を実行します。ただし、結合されていないコレクション フィールドは、コレクションごとに別個の SELECT 文でイーガー フェッチされ、これは対象オブジェクトに対する SELECT 文と並列的に実行されます。並列的に実行されるこれらの SELECT 文では、プライマリ SELECT 文から WHERE
条件を使用して選択しますが、関連データにアクセスするため独自の結合を追加します。たとえば、100 個の Company オブジェクトを返すクエリを実行する際、各企業に Employee オブジェクト リストおよび Department オブジェクト リストが存在する場合は、3 つのクエリが実行されます。1 つ目のクエリは Company オブジェクトを選択し、2 つ目のクエリは選択された企業の Employee オブジェクトを選択し、3 つ目のクエリはそれらの企業の Department オブジェクトを選択します。このプロセスは、join
の場合と同様に、イーガー フェッチ対象のリレーション内のオブジェクトに対して再帰的に適用されます。この例でいくと、ロード対象のいずれかのフェッチ グループに Employee クラスの Projects リストがあった場合、Kodo は、一致する企業の全従業員のプロジェクトのロードと並列的に、1 つの SELECT 文を追加実行します。
追加の SELECT 文を使用して各コレクションをロードすることにより、データベースからアプリケーションに必要以上のデータを転送せずに済みます。並列 SELECT 文の代わりにイーガー結合を使用すると、コンフィグレーションされているフェッチ グループに追加される各コレクションによって、ネットワークがあっという間にダウンするほど大量のデータが転送されてしまう場合があります。
クラスごとに 1 テーブルずつ (table-per-class) のマッピングへのポリモフィックな対 1 リレーションでは、適切な結合が不可能なため、並列のイーガー フェッチが使用されます。他の対 1 リレーションで、join モードのイーガー フェッチではなく parallel モードを使用するように設定するには、『Kodo Developer’s Guide』の「Eager Fetch Mode」で説明されているメタデータ拡張を使用します。
サブクラスのフェッチ モードを parallel に設定すると、table-per-class 階層および垂直継承階層に影響します。Kodo は、parallel モードの場合、join モードでのすべてのサブクラス テーブルの UNION 演算ではなく、table-per-class 継承階層のサブクラスごとに別個の SELECT 文を発行します。これは、クエリ、ID によるルックアップ、リレーション トラバースなど、table-per-class 基本クラスに対するあらゆる処理に適用されます。
一方、垂直にマップされた階層を処理する場合、parallel のサブクラス フェッチ モードが適用されるのはクエリのみです。Kodo は、サブクラス テーブルへの外部結合ではなく、サブクラスごとにクエリを別個に発行します。その他の状況下における parallel のサブクラス フェッチ モードの動作は、垂直にマップされたサブクラスに関しては join モードと同じです。
Kodo は、選択しているオブジェクトが 1 つしかない場合、parallel モードを使用しません。これは、追加の SELECT 文を同じ効率で遅延実行できるためです。parallel モードが join モードより効率的なのは、イーガー リレーションを持つ複数のオブジェクトがロードされる場合や、すべてのサブクラスへ結合するより複数の SELECT 文を実行した方が速く処理が完了する場合のみです。
single
- join
と同じです。<eager-fetch-mode>parallel</eager-fetch-mode>
Empress ディクショナリをコンフィグレーションします。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Empress ディクショナリのコンフィグレーション」を参照してください。
empress-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<empress-dictionary>
...
<allow-concurrent-read>false</allow-concurrent-read>
</empress-dictionary>
LogMBean
を登録するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」を参照してください。
<EnableLogMBean>true</EnableLogMBean>
RuntimeMBean
を登録するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」を参照してください。
<EnableRuntimeMBean>true</EnableRuntimeMBean>
特定の間隔でデータ キャッシュからデータをクリアするかどうかを指定するフラグ。クリア スケジュールは、
eviction-schedule
要素で定義します。詳細については、『Kodo Developer’s Guide』の「Data Cache」を参照してください。
<evict-from-data-cache>true</evict-from-data-cache>
特定の間隔でデータ キャッシュをクリアすることができます。Kodo のキャッシュ実装の EvictionSchedule
プロパティでは、cron
スタイルのクリア スケジュールを指定できます。このプロパティの書式は、5 つのトークンをホワイトスペース区切りでリストします。* 記号 (アスタリスク) をあらゆる値に一致するワイルドカードとして使用することができます。以下に、これらのトークンを指定すべき順序で示します。
詳細については、『Kodo Developer’s Guide』の「Configuring the Eviction Schedule」を参照してください。
以下の設定では、日曜日の午後 3 時 15 分および 3 時 45 分にキャッシュからデータをクリアするようにデフォルトのキャッシュをスケジューリングしています。
<eviction-schedule>15,45 15 * * 1</eviction-schedule>
孤立データストア キーの検出時に呼び出す kodo.event.OrphanedKeyAction
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.event.ExceptionOrphanedKeyAction
)。この場合、孤立キーごとに例外が送出されます。JPA では、javax.persistence.EntityNotFoundException
の例外になります。JDO では、javax.jdo.JDOObejctNotFoundException
の例外になります。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<exception-orphaned-key-action/>
JMS システムから重大な接続エラーが通知された場合の、再接続の試行回数を指定します。0 (デフォルト値) を指定するとエラーはログに記録されますが、それ以外の値を指定すると、接続がまだ有効とみなされエラーが無視されます。詳細については、『Kodo Developer’s Guide』の「JMS」を参照してください。
<exception-reconnect-attempts>0<exception-reconnect-attempts>
実行コンテキスト名プロバイダをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「kodo.ExecutionContextNameProvider」を参照してください。
<execution-context-name-provider>
<stack-execution-context-name-provider>...</stack-execution-context-name-provider>
<transaction-name-execution-context-name-provider>...</transaction-name-execution-context-name-provider>
<user-object-execution-context-name-provider>...</user-object-execution-context-name-provider>
</execution-context-name-provider>
エクスポート プロファイリング データをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Dumping Profiling Data to Disk from a Batch Process」を参照してください。
<profiling>
<export-profiling>
<interval-millis>-1</interval-millis>
<base-name>name</base-name>
</export-profiling>
</profiling>
永続クラスのオブジェクト リレーショナル マッピング情報の格納および取得に使用する kodo.meta.MetaDataFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。
この設定は JDO 1.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<extension-deprecated-jdo-mapping-factory>
<use-schema-validation>true</use-schema-validation>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
<scan-top-down>false</scan-top-down>
</extension-deprecated-jdo-mapping-factory>
結果セットをスクロールする際に一度にフェッチする行数。フェッチ サイズは、実行時にも設定することができます。詳細については、『Kodo Developer’s Guide』の「Large Result Sets」を参照してください。
<fetch-batch-size>-1</fetch-batch-size>
クエリ結果リストがアクセスされる順序。この値は、結果の格納に使用されるデータ構造のタイプに影響し、特定のアクセス パターンで最適化が可能な場合は JDBC ドライバに渡されます。この要素には、以下に示す値を指定できます。各値は、同じ名前の java.sql.ResultSet FETCH
定数に対応しています。
このプロパティは、実行時にも変更することができます。詳細については、『Kodo Developer’s Guide』の「Large Result Sets」を参照してください。
<fetch-direction>forward</fetch-direction>
フェッチ グループの名前。フェッチ グループ名はグローバルで、クラス間で共有されます。たとえば、ショッピング Web サイトで、各製品クラスに詳細なフェッチ グループを使用すると、各製品の「詳細な」ページの表示に必要なすべてのデータを効率的にロードすることができます。この Web サイトでは、検索結果などに製品テーブルの表示に必要なフィールドのみが含まれる、スパース リストのフェッチ グループを定義することもできます。
jdo、ejb、kodo で始まる名前、および default、values、all、none は Kodo で使用するため予約されています。
詳細については、『Kodo Developer’s Guide』の「Custom Fetch Groups」を参照してください。
<fetch-groups>
<fetch-group>detail</fetch-group>
</fetch-groups>
1 つまたは複数のカスタム フェッチ グループを定義します。
デフォルトでは、JPA メタデータ規則に基づきイーガー ロードされるすべてのフィールドが、組み込みのデフォルト フェッチ グループ内に配置されます。独自の名前のフェッチ グループを定義し、それらを実行時にアクティブ化したり非アクティブ化することができます。すべてのアクティブなフェッチ グループ内のフィールドは、データストアからのオブジェクトのロード時にイーガー ロードされます。詳細については、『Kodo Developer’s Guide』の「Custom Fetch Groups」を参照してください。
<fetch-groups>
<fetch-group>detail</fetch-group>
</fetch-groups>
<field-override>true</field-override>
親要素が file-schema-factory
の場合、XML スキーマ ファイルのリソース名を指定します。このファクトリはデフォルトで、CLASSPATH
の最上位レベルのディレクトリ内、または CLASSPATH
の JAR の最上位レベルにある package.schema
という名前のリソースを検索します。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
親要素が log-factory-impl
の場合は、メッセージのログが記録されるファイルの名前を指定します。stdout
または stderr
を指定し、ログ メッセージをそれぞれ標準出力または標準エラーに出力します。stderr
がデフォルトです。詳細については、『Kodo Developer’s Guide』の「Kodo Logging」を参照してください。
<file>stdout</file>
XML スキーマ ファイルのリソース名を指定します。このファクトリはデフォルトで、CLASSPATH
の最上位レベルのディレクトリ内、または CLASSPATH
の JAR の最上位レベルにある package.schema
という名前のリソースを検索します。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<file-name>package.schema</file-name>
データベース スキーマに関する情報の格納および取得に使用する kodo.jdbc.schema.SchemaFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.schema.FileSchemaFactory
)。
このファクトリは、
table-schema-factory
と多くの点で似ており、長所および短所も同じですが、XML スキーマ定義をデータベース テーブルではなく、ファイルに格納する点が異なります。
詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<file-schema-factory>
<file-name>package.schema</file-name>
<file>package.schema</file>
</file-schema-factory>
メタデータ ファイルまたは JAR アーカイブを、セミコロン区切りのリストで指定します。各 jar アーカイブでは、現在のメタデータ ファクトリに基づいて、アノテーションが付いた JPA エンティティまたは JDO メタデータ ファイルがスキャンされます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<files>com/file1;com/file2</files>
リスナの標準セットに加え、すべてのクエリで利用可能にするカスタム kodo.FilterListeners
の 1 つまたは複数の完全なプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を定義します。個々のクエリには、『Kodo Developer’s Guide』の「Query Language Extensions」で説明するように、フィルタ リスナを追加することもできます。
詳細については、『Kodo Developer’s Guide』の「kodo.FilterListeners」を参照してください。
<filter-listeners>
<custom-filter-listener>detail</custom-filter-listener>
</filter-listeners>
スキーマの検証時に、外部キー情報を自動的に読み取るかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<foreign-keys>false</foreign-keys>
フォーマットを指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
FoxPro ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「FoxPro ディクショナリ」を参照してください。
foxpro-dictionary
要素の下位要素は、access-dictionary と同じです。
クエリを実行する前に、現在のトランザクションで行われた変更をデータストアにフラッシュするかどうかを指定するフラグ。有効な値は以下のとおりです。
true
- メモリ内でクエリを実行せずに常にフラッシュします。現在のトランザクションが、オプティミスティック トランザクションである場合、ロックされないデータストア トランザクションが開始されます。これがデフォルトです。false
- クエリの前にフラッシュしません。with-connection
- EntityManager または PersistenceManager がデータストアとの専用接続を確立している場合にのみフラッシュします。確立していない場合は、メモリ内でクエリを実行します。
このオプションは、実行時間が長いオプティミスティック トランザクションで、コミットするまでデータベース リソースを消費しないようにする場合に役立ちます。Kodo のこのオプションの動作は、トランザクションのステータスやモードに加え、この節で説明した connection-retain-mode のコンフィグレーションによって変わります。
詳細については、『Kodo Developer’s Guide』の「Configuring the Use of JDBC Connections」を参照してください。
<flush-before-queries>true</flush-before-queries>
HSQL ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「HSQL ディクショナリ」を参照してください。
hsql-dictionary
要素の下位要素は、access-dictionary と同じです。
GemStone の GemFire v5.0.1 キャッシュ システムと統合します。詳細については、『Kodo Developer’s Guide』の「GemStone GemFire Integration」を参照してください。
<data-caches>
<gem-fire-data-cache>
<name>kodo.DataCache</name>
<gem-fire-cache-name>root/kodo-data-cache</gem-fire-cache-name>
<eviction-schedule>15, 45 15 * * 1</eviction-schedule>
</gem-fire-data-cache>
</data-caches>
GemFire の領域名。詳細については、『Kodo Developer’s Guide』の「GemStone GemFire Integration」を参照してください。
<gem-fire-data-cache-name>root/kodo-data-cache</gem-fire-data-cache-name>
管理を有効にし、ローカル JVM で JMX 管理コンソールを呼び出します。『Kodo Developer’s Guide』の「Optional Parameters in Management Group」で説明するように、Management Group のオプション パラメータをサポートします。
<gui-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
</gui-jmx>
ローカルのプロファイリング GUI を起動します。詳細については、『Kodo Developer’s Guide』の「Profiling in an Embedded GUI」を参照してください。
<profiling>
<gui-profiling/>
</profiling>
RMI レジストリ ネーミング サービスがリスンするホスト名。localhost
がデフォルトです。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Remote Group」を参照してください。
<Host>localhost</Host>
サーバのホスト名を指定します。この設定は、サーバではなく、クライアントが使用します。詳細については、『Kodo Developer’s Guide』の「Standalone Persistence Server」を参照してください。
<host>localhost</host>
リモート サーバの URL を指定します。詳細については、『Kodo Developer’s Guide』の「Client Managers」を参照してください。
<http-transport>
<url>servlet-url</url>
</http-transport>
クエリの評価時に、現在のトランザクションで永続オブジェクトに対して行われた変更を考慮するかどうかを指定するフラグ。true に設定すると、変更が無視され、データストアに対して直接クエリが実行されます。false に設定すると、現在のトランザクションにおける変更がクエリに影響するかどうかが考慮され、影響する場合は、そのクエリがメモリ内で評価されるか、実行前にデータストアにフラッシュされます。詳細については、『Kodo Developer’s Guide』の「kodo.IgnoreChanges」を参照してください。
<ignore-changes>false</ignore-changes>
マップされていない基本クラスを無視する代わりに、最も派生の少ないマップされたクラスごとに 1 行を使用するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<ignore-unmapped>false</ignore-unmapped>
仮想クラスを無視するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<ignore-virtual>false</ignore-virtual>
トランザクションのセーブポイントの管理に使用する kodo.kernel.SavepointManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.kernel.InMemorySavepointManager
)。このプラグインは、フィールド値を含むすべての状態をメモリに格納します。このため、設定される各セーブポイントは、トランザクション オブジェクト数がそれほど多くない状況に対して設計されています。詳細については、『Kodo Developer’s Guide』の「Savepoints」を参照してください。
<in-memory-savepoint-manager/>
シーケンスの増分量を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<increment>1</increment>
スキーマの検証時にインデックス情報を自動的に読み取るかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<indexes>false</indexes>
Informix ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Informix ディクショナリ」を参照してください。
informix-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<informix-dictionary>
...
<lock-mode-enabled>false</lock-mode-enabled>
<lock-wait-seconds>30</lock-wait-seconds>
<swap-schema-and-catalog>true</swap-schema-and-catalog>
</informix-dictionary>
初期シーケンス値を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<initial-value>1</intial-value>
エクスポートの間隔 (ミリ秒単位)。デフォルト値の -1 は、終了時に 1 回、エクスポートされることを示します。詳細については、『Kodo Developer’s Guide』の「Dumping Profiling Data to Disk from a Batch Process」を参照してください。
<interval-millis>-1</interval-millis>
フラッシュ時の双方向の関係の管理に使用する kodo.kernel.InverseManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。詳細については、『Kodo Developer’s Guide』の「Managed Inverses」を参照してください。
<inverse-manager>
<action>warn</action>
<manage-lrs>false</manage-lrs>
</inverse-manager>
JDataStore ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「JDataStore ディクショナリ」を参照してください。
jdatastore-dictionary
要素の下位要素は、access-dictionary と同じです。
使用する kodo.kernel.BrokerFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、JDBC)。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerFactory」を参照してください。
<jdbc-broker-factory/>
リスナの標準セットに加え、すべてのクエリで利用可能にするカスタム kodo.jdbc.kernel.exps.JDBCFilterListeners
の 1 つまたは複数の完全なプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を定義します。個々のクエリには、『Kodo Developer’s Guide』の「Query Language Extensions」で説明するように、フィルタ リスナを追加することもできます。
<jdbc-listeners>detail</jdbc-listeners>
トランザクションのサーブポイントの管理に使用する kodo.kernel.SavepointManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.jdbc.kernel.JDBCSavepointManager
)。このプラグインは、データベースへのフラッシュの発行によりセーブポイントを実装します。詳細については、『Kodo Developer’s Guide』の「Savepoints」を参照してください。
<jdbc3-savepoint-manager/>
使用する kodo.meta.MetaDataFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdo.JDOMetaDataFactory
)。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<jdo-meta-data-factory>
<use-schema-validation>false</use-schema-validation>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<constraint-names>false</constraint-names>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
<scan-top-down>false</scan-top-down>
</jdo-meta-data-factory>
JMS リモート コミット プロバイダをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「JMS」を参照してください。
<jms-remote-commit-provider>
<name>kodo.RemoteCommitProvider</name>
<topic>topic/KodoCommitProviderTopic</topic>
<exception-reconnect-attempts>0<exception-reconnect-attempts>
<topic-connection-factory>java:/ConnectionFactory</topic-connection-factory>
</jms-remote-commit-provider>
管理機能をコンフィグレーションできるようにします。詳細については、『Kodo Developer’s Guide』の「Management and Monitoring」を参照してください。
<jmx>
<none-jmx/>
<local-jmx>...</local-jmx>
<gui-jmx>...</gui-jmx>
<jmx2-jmx>...</jmx2-jmx>
<mx4j1-jmx>...</mx4j1-jmx>
<wls81-jmx>...</wls81jmx>
</jmx>
JMX v.1.2 実装を介してリモート管理できるようにします (リモート管理に関する JSR 160 をサポート)。Management Group および JSR 160 Group
のオプション パラメータをサポートします。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」および「Optional Parameters in JSR 160 Group」をそれぞれ参照してください。
<jmx2-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
<NamingImpl>mx4j.tools.naming.NamingService</NamingImpl>
<ServiceURL>service:jmx:rmi://localhost/jndi/jmxservice</ServiceURL>
</jmx2-jmx>
リモート JMX アダプタの登録 JNDI 名。jrmp
がデフォルトです。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Remote Group」を参照してください。
<JNDIName>jrmp</JNDIName>
kodo.BrokerImpl
をコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerImpl」を参照してください。
<kodo-broker>
<large-transaction>false</large-transaction>
<auto-clear>datastore</auto-clear>
<detach-state>1</detach-stage>
<nontransactional-read>true</nontransactional-read>
<retain-state>false</retain-state>
<evict-from-data-cache>false</evict-from-data-cache>
<detached-new>true</detached-new>
<optimistic>true</optimistic>
<nontransactional-write>flase</nontransactional-write>
<sync-with-managed-transacations>false</sync-with-managed-transactions>
<multithreaded>false</multithreaded>
<populate-data-cache>true</populate-data-cache>
<ignore-changes>false</ignore-changes>
<auto-detach>0</auto-detach>
<restore-state>1</restore-state>
<order-dirty-objects>false</other-dirty-objects>
</kodo-broker>
基本的な同時データ キャッシュを有効にします。詳細については、『Kodo Developer’s Guide』の「Data Cache」を参照してください。
<data-caches>
<kodo-concurrent-data-cache>
<name>default</name>
<cache-size>1000</cache-size>
<soft-reference-size>0</soft-reference-size>
<eviction-schedule>15,45 15 * * 1</eviction-schedule>
</kodo-concurrent-data-cache>
</data-caches>
システム データ キャッシュを管理する kodo.datacache.DataCacheManager
を有効にします。詳細については、『Kodo Developer’s Guide』の「kodo.DataCacheManager」を参照してください。
<kodo-data-cache-manager/>
使用する kodo.meta.MetaDataRepository
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します。詳細については、『Kodo Developer’s Guide』の「kodo.MetaDataRepository」を参照してください。
<kodo-mapping-repository>
<resolve>3</resolve>
<validate>7</validate>
<source-mode>7</source-mode>
</kodo-mapping-repository>
永続クラスのオブジェクト リレーショナル マッピング情報の格納および取得に使用する kodo.meta.MetaDataFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。この設定は JPA 1.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<kodo-persistence-mapping-factory>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<default-access-type>FIELD</default-access-type>
<field-override>true</field-override>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
</kodo-persistence-mapping-factory>
使用する kodo.meta.MetaDataFactory
タイプを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、org.apache.openjpa.persistence.PersistenceMetaDataFactory
)。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<kodo-persistence-meta-data-factory>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<default-access-type>FIELD</default-access-type>
<field-override>true</field-override>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
</kodo-persistence-meta-data-factory>
デフォルトで接続プーリングを実行する kodo.jdbc.schema.KodoPoolingDataSource をコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「JDBC」を参照してください。
<kodo-pooling-data-source>
<connection-user-name>KodoPool</connection-user-name>
<login-timeout>10</login-timeout>
<connection-password>password</connection-password>
<connection-url>jdbc:hsqldb:db-hypersonic</connection-url>
<connection-driver-name>org.hsqldb.jdbcDrier</connection-driver-name>
</kodo-pooling-data-source>
一般的な SQL コンストラクトの抽象化に使用する kodo.jdbc.SQLFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.SQLFactory」を参照してください。
<kodo-sql-factory>
<advanced-sql>...</advanced-sql>
</kodo-sql-factory>
トランザクションで多数のオブジェクトを生成するかどうかを指定するフラグ。
<large-transaction>false</large-transaction>
データベース スキーマに関する情報の格納および取得に使用する kodo.jdbc.schema.SchemaFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.schema.LazySchemaFactory
)。
アプリケーションで永続クラスがロードされる際に、永続クラスのメタデータおよびオブジェクト リレーショナル マッピング情報が読み取られます。このファクトリは、java.sql.DatabaseMetaData
インタフェースを使用してスキーマでの反映を行い、読み取り対象のマッピング データとの整合性を確保します。テーブル定義に対する反映は、そのテーブルがマッピング情報で示されるまで行われないため、この処理は「遅延」と呼ばれています。このファクトリは、開発期間中に、マッピング メタデータとデータベースの整合性を前もって検証する場合に使用します。
詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<lazy-schema-factory>
<foreign-keys>false</foreign-keys>
<indexes>false</indexes>
<primary-keys>false</primary-keys>
</lazy-schema-factory>
ログを記録するレベルを指定します。有効な値は、1
(TRACE
)、2
(DEBUG
)、3
(INFO
)、4
(WARN
)、5
(ERROR
) です。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<level>4</level>
ローカル管理を有効にします。この設定は、ユーザ定義のメカニズム、あるいは MBeanServer で定義されるメカニズムで管理するため、すべての MBean を JMX MBeanServer に登録する必要がある JBoss などの環境で使用するのに適しています。『Kodo Developer’s Guide』の「Optional Parameters in Management Group」で説明するように、Management Group のオプション パラメータをサポートします。
<local-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
</local-jmx>
エクスポートまたは GUI を使用しないプロファイリングを有効にします。プログラムで ProfilingAgent
にアクセスする場合に役立ちます。詳細については、『Kodo Developer’s Guide』の「Profiling」を参照してください。
<profiling>
<local-profiling/>
</profiling>
ロックを取得するまでのデフォルトの待機時間。値 -1
を指定すると、制限なく待機します。詳細については、『Kodo Developer’s Guide』の「Configuring Default Locking」を参照してください。
<lock-timeout>-1</lock-timeout>
デフォルトのロギング システムをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Kodo Logging」を参照してください。
<log-factory-impl>
<diagnostic-context>ID</diagnostic-context>
<default-level>INFO</default-level>
<file>stdout</file>
</log-factory-impl>
孤立データストア キーの検出時に呼び出す kodo.event.OrphanedKeyAction
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.event.LogOrphanedKeyAction
)。この場合、孤立キーごとにメッセージがロギングされます。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<log-orphaned-key-action>
<channel>openjpa.Runtime</channel>
<level>4</level>
</log-orphaned-key-action>
ロギングに Log4J を使用するよう指定します。スタンドアロン アプリケーションの場合、Log4J ロギング レベルは、log4j.properties
という名前のリソースによって制御されます。このリソースは、最上位レベルの (jar ファイルの最上位レベルにあるか、いずれかの CLASSPATH
ディレクトリのルートにある) リソースとして利用できる必要があります。多くの場合、Web または EJB アプリケーション サーバへデプロイする際の Log4J のコンフィグレーションは、プロパティ ファイルではなく log4j.xml
ファイルで行われます。Log4J のコンフィグレーションの詳細については、Log4J のマニュアルを参照してください。詳細については、『Kodo Developer’s Guide』の「Log4J」を参照してください。
<log4j-log-factory/>
ログインのタイムアウトを指定します。詳細については、『Kodo Developer’s Guide』の「Using the Kodo Data Source」を参照してください。
<login-timeout>0</login-timeout>
結果セットのサイズを指定します。このプロパティは、必要に応じて結果がロードされるよう、fetch-batch-size のデフォルト値 -1 を変更した場合にのみ使用します。有効な値は以下のとおりです。
query
- クエリ結果のサイズを最初に問い合わせたときに、予想される結果の数が SELECT COUNT(*) クエリで特定されます。報告されるサイズは、トランザクションのステータスおよび設定に応じて、実際の結果の数と若干異なる場合がある点に注意する必要があります。これがデフォルトです。last
- スクロール可能な結果セット タイプを選択している場合、ResultSet.last メソッドが使用され、結果セットの最後の要素に移動し、そのインデックスを取得します。一部の JDBC ドライバでは、最後の要素にアクセスするために、すべての結果がメモリに格納されてしまいます。スクロール可能な結果セット タイプを選択していない場合は、unknown の動作と同じです。デフォルトの結果セット タイプは forward-only であるため、この last を利用するには、結果セット タイプを変更する必要があります。unknown
- 必要に応じたロードを使用するクエリ結果のサイズとして、Integer.MAX_VALUE
が返されます。
詳細については、『Kodo Developer’s Guide』の「Large Result Sets」を参照してください。
<lrs-size>query</lrs-size>
最長時間未使用 (LRU) のデータ キャッシュ オプションを設定します。詳細については、『Kodo Developer’s Guide』の「Configuring the LRU Caching Option」を参照してください。
<data-caches>
<lru-data-cache>
<name>kodo.DataCache</name>
<cache-size>1000</cache-size>
<soft-reference-size>0</soft-reference-size>
<eviction-schedule>15,45 15 * * 1</eviction-schedule>
</lru-data-cache>
</data-caches>
大きな結果セットのフィールドを管理に含めるかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Managed Inverses」を参照してください。
<manage-lrs>false</manage-lrs>
親要素が persistence-configuration-unit
の場合、使用するオブジェクトとデータストアのマッピングの識別名を指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Metadata」 (JPA) または「Mapping Metadata Placement」 (JDO) を参照してください。
親要素が orm-file-jdor-mapping-factory
の場合、これらのマッピングの論理名を指定します。マッピング ファイルには、サフィックスが logicalname.orm
のように付きます。論理名を指定しない場合は、kodo.Mapping
コンフィグレーション プロパティが使用されます。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<mapping>org/mag/Magazine-hsql.orm</mapping>
XML マッピングを保持する列の名前を指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<mapping-column>MAPPING_DEF</mapping-column>
default-mapping-defaults
を jdo
に設定した場合のデフォルトのマッピング設定をコンフィグレーションします。指定可能な各値の詳細については、『Kodo Developer’s Guide』の「Mapping Defaults」を参照してください。
<mapping-defaults-impl>
<use-class-criteria>false</use-class-criteria>
<base-class-strategy>ColumnPerLockGroupVersionStrategy</base-class-strategy>
<version-strategy>version-number</version-strategy>
<discriminator-column-name>test</discriminator-column-name>
<subclass-strategy>vertical</subclass-strategy>
<index-version>false</index-version>
<index-logical-foreign-keys>true</index-logical-foreign-keys>
<null-indicator-column-name>null</null-indicator-column-name>
<foreign-key-delete-action></foreign-key-delete-action>
<join-foreign-key-delete-action>1</join-foreign-key-delete-action>
<discriminator-strategy>final</discriminator-strategy>
<defer-constraints>false</defer-constraints>
<field-strategies>none</field-strategies>
<version-column-name>version</version-column-name>
<data-store-id-column-name>ID</data-store-id-column-name>
<index-discriminator>true</index-discriminator>
<store-enum-ordinal>false</store-enum-ordinal>
<order-lists>true</order-lists>
<order-column-name>false</order-column-name>
<add-null-indicator>false</add-null-indicator>
<store-unmapped-object-id-string>false</store-unmapped-object-id-string>
</mapping-defaults-impl>
永続クラスのオブジェクト リレーショナル マッピング情報の格納および取得に使用する kodo.meta.MetaDataFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。この設定は JDO 1.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<mapping-file-deprecated-jdo-mapping-factory>
<use-schema-validation>true</use-schema-validation>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<single-file>false</single-file>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict></strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
<scan-top-down>false</scan-top-down>
</mapping-file-deprecated-jdo-mapping-factory>
クラスタ内の各ピア間で同時に開く TCP ソケット (チャネル) の最大許容数を指定します。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<max-active>2</max-active>
クラスタ内の各ピア間で同時に開く TCP ソケット (チャネル) の最大許容数を指定します。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<max-idle>2</max-idle>
クエリ文字列とその解析形式の関連付けに使用する同時ハッシュ マップの最大サイズを定義します。詳細については、『Kodo Developer’s Guide』の「Query Compilation Cache」を参照してください。
<max-size>2147483647</max-size>
ステートメントのバッチ処理が有効な場合に、バッチ サイズを最適化するためにステートメントをソートするかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」を参照してください。
<maximize-batch-size>true</maximize-batch-size>
Kodo は、JMX ベースの管理が有効な場合、以下のいずれかのオプションに基づいて、既存の MBeanServer
を特定するか、新たに作成する必要があります。
詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」を参照してください。
<MBeanServerStrategy>any-create</MBeanServerStrategy>
永続インスタンスおよび Kodo コンポーネントが一度に複数のスレッドによってアクセスされるかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「kodo.Multithreaded」を参照してください。
<multithreaded>false</multithreaded>
MX4J v.1.x 実装を介したリモート管理を有効にします (1.2 より前のバージョンの JMX 仕様をサポート)。Management Group および Remote Group
のオプション パラメータをサポートします。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」および「Optional Parameters in Remote Group」をそれぞれ参照してください。
<mx4j1-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
<Host>localhost</Host>
<Port>1099</Port>
<JNDIName>jrmp</JNDIName>
</mx4j1-jmx>
MySQL ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「MySQL ディクショナリ」を参照してください。
mysql-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<mysql-dictionary>
...
<table-type>innodb</table-type>
<use-clobs>true</use-clobs>
<driver-deserializes-blobs>true</driver-deserializes-blobs>
</mysql-dictionary>
マッピング名を保持する列の名前。クラスのマッピングの場合、マッピング名はクラス名です。名前が付けられたクエリおよびシーケンスの場合は、そのシーケンスまたはクエリの名前です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<name-column>NAME</name-column>
RMI コネクタを JNDI 名に登録するために開始するネーミング サービス実装のクラス名。デフォルトの mx4j.tools.naming.NamingService
は、MX4J v. 2.x に適しています。空の文字列を指定すると、ネーミング サービスが開始されません。この設定は、ネーミング サービスが実行されているか、非 RMI コネクタが使用されている場合に適しています。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in JSR 160 Group」を参照してください。
<NamingImpl>mx4j.tools.naming.NamingService</NamingImpl>
独自のカスタム ジェネレータの作成に使用する kodo.kernel.Seq
インタフェースを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.kernel.NativeJDBCSeq
)。
ほとんどのデータベースには、増分数を取得するための「ネイティブ シーケンス」という概念のメカニズムが組み込まれています。Oracle の場合、CREATE SEQUENCE MYSEQUENCE
などの文でデータベース シーケンスを作成することができます。シーケンス値は、SELECT MYSEQUENCE.NEXTVAL FROM DUAL
文で自動的に取得およびインクリメントすることができます。Kodo では、この一般的なシーケンス生成メカニズムを NativeJDBCSeq
でサポートしています。
詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<native-jdbc-seq>
<type>0</type>
<allocate>50</allocate>
<table-name>DUAL</table-name>
<initial-value>1</intial-value>
<sequence>OPENJPA_SEQUENCE</sequence>
<sequence-name>OPENJPA_SEQUENCE</sequence-name>
<format>format</format>
<increment>1</increment>
</native-jdbc-seq>
管理が有効化されません。これがデフォルトです。詳細については、『Kodo Developer’s Guide』の「Configuration」を参照してください。
<none-jmx/>
ロックを行わない kodo.kernel.NoneLockManager
を指定します。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<none-lock-manager/>
ロギングを無効化します。詳細については、『Kodo Developer’s Guide』の「Disable Logging」を参照してください。
<none-log-factory/>
孤立データストア キーの検出時に呼び出す kodo.event.OrphanedKeyAction
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.event.NoneOrphanedKeyAction
)。この場合、孤立キーは無視されます。詳細については、『Kodo Developer’s Guide』の「Orphaned Keys」を参照してください。
<none-orphaned-key-action/>
コードのプロファイリングを無効化します。詳細については、『Kodo Developer’s Guide』の「Profiling」を参照してください。
<profiling>
<none-profiling/>
</profiling>
Kodo ランタイムでトランザクション外のデータの読み取りを可能にするかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「kodo.NontransacationalRead」を参照してください。
<nontransactional-read>true</nontransactional-read>
トランザクション外の永続性に関する処理および永続オブジェクトの変更を可能にするかどうかを指定するフラグ。変更は、次のトランザクションに反映されます。詳細については、『Kodo Developer’s Guide』の「kodo.NontransacationalWrite」を参照してください。
<nontransactional-write>false</nontransactional-write>
ピアにイベントを送信するために作成するスレッドの数を指定します。これは、同時トランザクション数の増加に伴い、大きな値にする必要があります。最大同時トランザクション数は、接続プールのサイズに依存します。『Kodo Developer’s Guide』の「Using the Kodo Data Source」に示す kodo.ConnectionFactoryProperties
の MaxActive
プロパティの説明を参照してください。0 に設定すると、commit を呼び出すスレッドが直接ブロードキャストします。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<num-broadcast-threads>2<num-broadcast-threads>
オブジェクトレベルの処理順序で SQL を記述する更新マネージャを定義します。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」を参照してください。
<operation-order-update-manager/>
データストアのトランザクション モードをオプティミスティックにするかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「kodo.Optimistic」を参照してください。
<optimistic>true</optimistic>
Oracle ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Oracle ディクショナリ」を参照してください。
oracle-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<oracle-dictionary>
...
<use-triggers-for-auto-assign>false</use-triggers-for-auto-assign>
<auto-assign-sequence-name>false</auto-assign-sequence-name>
<use-set-form-of-use-for-unicode>true</use-set-form-of-use-for-unicode>
</oracle-dictionary>
トランザクションのセーブポイントの管理に使用する kodo.kernel.SavepointManager
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、デフォルトの kodo.jdbc.sql.OracleSavepointManager
)。このプラグインの動作は、jdbc3-savepoint-manager
と似ていますが、このプラグインでは Oracle 固有の呼び出しを使用します。このプラグインを使用するには、バージョン 9.2 以上の Oracle JDBC ドライバおよびデータベースを使用する必要があります。このプラグインは、データベースへのフラッシュの発行によりセーブポイントを実装します。詳細については、『Kodo Developer’s Guide』の「Savepoints」を参照してください。
<oracle-savepoint-manager/>
マッピング メタデータを .orm
ファイルに格納する kodo.jdo.jdbc.ORMFileJDORMappingFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。この設定は JDO 1.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<orm-file-jdor-mapping-factory>
<use-schema-validation>true</use-schema-validation>
<mapping>mapping</mapping>
<urls>t3://localhost:7001/metadata.jar</urls>
<files>com/file1;com/file2</files>
<classpath-scan>build</classpath-scan>
<types>classname1;classname2</types>
<store-mode>1</store-mode>
<strict>false</strict>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
<scan-top-down>false</scan-top-down>
</orm-file-jdor-mapping-factory>
ダーティ オブジェクトに対して行われた変更をデータベースに書き戻す際に、その変更の順序を維持するかどうかを指定するフラグ。
<order-dirty-objects>false</order-dirty-objects>
WebLogic MBeanServer へのアクセスに使用されるパスワード。この要素は設定しなければなりません。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in WebLogic 8.1 Group」を参照してください。
<Password>admin</Password>
WebLogic Server で利用可能な永続性ユニットのデプロイメント情報を格納します。
ロックされているオブジェクトに対応するデータベース行をロックする SELECT FOR UPDATE
文 (または同等のデータベース文) を使用する kodo.jdbc.kernel.PessimisticLockManager
を指定します。このロック マネージャでは、読み取りロックと書き込みロックが区別されず、すべて書き込みロックとなります。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<pessimistic-lock-manager>
<version-check-on-read-lock>false</version-check-on-read-lock>
<version-update-on-write-lock>false</version-update-on-write-lock>
</pessimistic-lock-manager>
default-mapping-defaults
を jpa
に設定した場合のデフォルトのマッピング設定をコンフィグレーションします。指定可能な各値の詳細については、『Kodo Developer’s Guide』の「Mapping Defaults」を参照してください。
persistence-mapping-defaults
要素の下位要素は、mapping-defaults-impl と同じです。
Pointbase ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Pointbase ディクショナリ」を参照してください。
pointbase-dictionary
要素の下位要素は、access-dictionary と同じです。
データ キャッシュへ格納するかどうかを指定するフラグ。月に一度のみの包括的なレポートの実行など、他のトランザクションがアクセスすることがほとんどないと分かっているオブジェクトに現在のトランザクションがアクセスする場合、すぐにまたアクセスすることがないオブジェクトでデータ キャッシュ全体が埋まらないよう、データ キャッシュへの格納を無効にすることができます。
<populate-data-cache>true</populate-data-cache>
RMI レジストリ ネーミング サービスがリスンするポート。1099 がデフォルトです。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Remote Group」を参照してください。
<Port>1099</Port>
サーバがリスンするポートを指定します。この設定は、サーバではなく、クライアントが使用します。
親要素が tcp-transport
の場合、5637
がデフォルトです。詳細については、『Kodo Developer’s Guide』の「Standalone Persistence Server」を参照してください。
親要素が tcp-remote-commit-provider
の場合、5636
がデフォルトです。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<port>5637</port>
Postgres ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Postgres ディクショナリ」を参照してください。
postgres-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<postgres-dictionary>
...
<all-sequences-sql>SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class WHERE relkind='S'</all-sequence-sql>
<named-sequences-from-all-schemas-sql>SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class WHERE relkind='S' AND relname = ?"</named-sequences-from-all-schemas-sql>
<all-sequences-from-one-schema-sql>SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = pg_namespace.oid AND nspname = ?</all-sequences-from-one-schema-sql>
<named-sequences-from-one-schema-sql>SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = ?</named-sequences-from-one-schema-sql>
<supports-set-fetch-size>true</supports-set-fetch-size>
</postgres-dictionary>
テーブルの数値の主キー列の名前を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」または「Schema Factory」を参照してください。
<primary-key-column>ID</primary-key-column>
このインスタンスで使用される主キーを指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<primary-key-value>DEFAULT</primary-key-value>
スキーマの検証時に主キー情報を自動的に読み取るかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<primary-keys>false</primary-keys>
アプリケーション コードのプロファイリングをコンフィグレーションできます。詳細については、『Kodo Developer’s Guide』の「Profiling」を参照してください。
<profiling>
<export-profiling>
<interval-millis>-1</interval-millis>
<base-name>name</base-name>
</export-profiling>
</profiling>
<profiling>
<gui-profiling/>
</profiling>
<profiling>
<local-profiling/>
</profiling>
<profiling>
<none-profiling/>
</profiling>
プロファイリング プロキシ マネージャをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<profiling-proxy-manager>
<assert-allowed-type>false</assert-allowed-type>
<track-changes>true</track-changes>
</profiling-proxy-manager>
1 つまたは複数の property 要素を指定します。
<property>
<name>timeout</name>
<value>1000</value>
</property>
デフォルトのプロキシ マネージャをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<proxy-manager-impl>
<assert-allowed-type>false</assert-allowed-type>
<track-changes>true</track-changes>
</proxy-manager-impl>
データストアからロードされるクエリのキャッシュに使用する kodo.datacache.QueryCache
実装を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。詳細については、『Kodo Developer’s Guide』の「Query Cache」を参照してください。
<query-caches>
<default-query-cache>...</default-query-cache>
</query-caches>
<query-caches>
<kodo-concurrent-query-cache>...</kodo-concurrent-query-cache>
</query-caches>
<query-caches>
<gem-fire-query-cache>...</gem-fire-query-cache>
</query-caches>
<query-caches>
<lru-query-cache>...</lru-query-cache>
</query-caches>
<query-caches>
<tangosol-query-cache>...</tangosol-query-cache>
</query-caches>
<query-caches>
<disabled-query-cache>...</disabled-query-cache>
</query-caches>
<query-caches>
<custom-query-cache>...</custom-query-cache>
</query-caches>
クエリ文字列内の引用符で囲まれた数値を、文字列ではなく数値として解釈するかどうかを指定するフラグ。true
に設定すると、3.1 以前の Kodo と同様、引用符で囲まれた数値が数値として処理されます。詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<quoted-numbers-in-queries>false</quoted-numbers-in-queries>
非オプティミスティック トランザクション中に所得されたオブジェクトをロックする際の、デフォルトの読み取りレベルを設定します。有効な値は以下のとおりです。
注意 : | デフォルトの JDBC ロック マネージャでは、read および write の両ロック レベルは同じです。 |
詳細については、『Kodo Developer’s Guide』の「Object Locking」を参照してください。
<read-lock-level>read</read-lock-level>
回復中に実行する処理を指定します。有効な値は以下のとおりです。
詳細については、『Kodo Developer’s Guide』の「Remote Commit Provider Configuration」を参照してください。
<recover-action>none</recover-action>
クラスタのピアへの接続が失われた場合に、そのピアへの再接続を試行するまでの待機時間をミリ秒単位で指定します。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<recovery-time-millis>15000</recovery-time-millis>
メタデータ ファイルまたは jar アーカイブへのリソース パスを、セミコロン区切りのリストで指定します。各 jar アーカイブでは、現在のメタデータ ファクトリに基づいて、アノテーションが付いた JPA エンティティまたは JDO メタデータ ファイルがスキャンされます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
ロールバック時に、管理対象フィールドをトランザクション前の値にリストアするかどうかを指定するフラグ。
詳細については、『Kodo Developer’s Guide』の「Restoring State」を参照してください。
<restore-state>none</restore-state>
結果リストをフェッチする際に使用する JDBC 結果セット タイプを指定します。この設定は、実行時にも変更することができます。
詳細については、『Kodo Developer’s Guide』の「Large Result Sets」を参照してください。
<result-set-type>forward-only</result-set-type>
トランザクションのコミット時に、永続フィールドが値を保持するかどうかを指定するフラグ。親要素が persistence-configuration-unit
の場合は true
、親要素が kodo-broker
の場合は false
がデフォルトです。
詳細については、『Kodo Developer’s Guide』の「kodo.RetainState」を参照してください。
<retain-state>true</retain-state>
永続クラスを完全に処理できない場合に、例外を送出せずに警告をログに記録し、登録を遅延させるかどうかを指定するフラグ。この要素は、セキュリティ上、登録されたクラスを読み取れないような複雑なクラスローダの状況でのみ使用してください。無用に true
に設定すると、より重大な問題を把握しにくくなる可能性があります。詳細については、『Kodo Developer’s Guide』の「kodo.RetryClassRegistration」を参照してください。
<retry-class-registration>false</retry-class-registration>
パッケージ ツリーの上位レベルから下位レベルへメタデータ ファイルを検索するかどうかを指定するフラグ。デフォルトでは、下位レベルから上位レベルへスキャンされます。たとえば、クラス C
のメタデータのスキャンでは、最初に C.jdo
、package.jdo
の順に C
のパッケージ内で検索され、次に親パッケージ内の package.jdo
が検索されます。このように、最終的にパッケージのルートまで検索されます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<scan-top-down>false</scan-top-down>
未修飾テーブル名の先頭に付加されるデフォルトのスキーマ名を指定します。また、新しいテーブルが作成されるスキーマを指定します。詳細については、『Kodo Developer’s Guide』の「Default Schema」を参照してください。
<schema>SCHEMA</schema>
スキーマ定義を XML 文字列として格納する、テーブルの文字列型の列の名前を指定します。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<schema-column>SCHEMA_DEF</schema-column>
永続データに使用するスキーマまたはテーブル、あるいはその両方を、カンマ区切りのリストで指定します。詳細については、『Kodo Developer’s Guide』の「Schemas List」を参照してください。
<schemas>BUSOBJS,GENERAL.ADDRESS,.SYSTEM_INFO </schemas>
データベース シーケンスの名前を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<sequence>OPENJPA_SEQUENCE</sequence>
現在のシーケンス値を格納する列の名前を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<sequence-column>SEQUENCE_VALUE</sequence-column>
データベース シーケンスの名前を指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<sequence-name>OPENJPA_SEQUENCE</sequence-name>
JMX コネクタ サーバが登録される際の JMX サービス URL 名。デフォルトの service:jmx:rmi://localhost/jndi/jmxservice
は、RMI コネクタが JNDI 名 jmxsevice
で使用および登録されることを示しています。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in JSR 160 Group」を参照してください。
<ServiceURL>service:jmx:rmi://localhost/jndi/jmxservice</ServiceURL>
Kodo データストア実装をコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Using the Kodo DataSource」を参照してください。
<simple-driver-data-source>
<connection-user-name>user</connection-user-name>
<login-timeout>10</login-timeout>
<connection-password>password</connection-password>
<connection-url>jdbc:hsqldb:db-hypersonic</connection-url>
<connection-driver-name>org.hsqldb.jdbcDrier</connection-driver-name>
</simple-driver-data-source>
<single-file>false</single-file>
kodo.kernel.SingleJVMExclusiveLockManager
を指定します。このロック マネージャは、インメモリ ミューテックスを使用して、オブジェクト ID の排他ロックを取得します。データベースレベルのロックは行われません。また、読み取りロックと書き込みロックが区別されず、すべて書き込みロックとなります。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<single-jvm-exclusive-lock-manager>
<version-check-on-read-lock>false</version-check-on-read-lock>
<version-check-on-write-lock>false</version-check-on-write-lock>
</single-jvm-exclusive-lock-manager>
同じ JVM 内の persistenceManagerFactory
間でコミット通知を共有するようコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「Remote Commit Provider Configuration」を参照してください。
<single-jvm-remote-commit-provider>
<name>kodo.RemoteCommitProvider</name>
</single-jvm-remote-commit-provider>
維持されるソフト参照の数を設定します。キャッシュまたはクエリの最大サイズに達すると、ランダム エントリはソフト参照マップに移され、もうしばらく維持されます。デフォルト値の -1
では、無限数のソフト参照が維持されます。ソフト参照を無効にするには、このプロパティを 0 に設定します。詳細については、『Kodo Developer’s Guide』の「Configuring the Data Cache Size」および「Query Cache」を参照してください。
<soft-reference-size>-1</soft-reference-size>
ソケット読み込みのタイムアウト時間をミリ秒単位で指定します。詳細については、『Kodo Developer’s Guide』の「Standalone Persistence Server」を参照してください。
<so-timeout>0</so-timeout>
SQLServer ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「SQLServer ディクショナリ」を参照してください。
sql-server-dictionary
要素の子要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<sql-server-dictionary>
...
<unique-identifier-as-varbinary>true</unique-identifier-as-varbinary>
</sql-server-dictionary>
プロバイダが現在のスレッドのスタックを検査し、その情報に基づき実行コンテキスト名を作成します。詳細については、『Kodo Developer’s Guide』の「Configuring the Execution Context Name Provider」を参照してください。
<stack-execution-context-name-provider>
<style>full</style>
</stack-execution-context-name-provider>
<store-mode>1</store-mode>
<strict>true</strict>
アプリケーション ID インスタンスの検索に使用する ID 値が、完全に正しい型でなければならないかどうかを指定するフラグ。デフォルトでは、文字列化された ID 値が許容され、数値型間で変換が行われます。詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<strict-identity-values>false</strict-identity-values>
プロバイダが現在のスレッドのスタックを検査し、その情報と以下の設定に基づき、実行コンテキスト名を作成します。
詳細については、『Kodo Developer’s Guide』の「Configuring the Execution Context Name Provider」を参照してください。
<style>full</style>
他のテーブルにあるサブクラス データの選択に使用する方法を指定します。有効な値については、「eager-fetch-mode」の説明を参照してください。詳細については、『Kodo Developer’s Guide』の「Eager Fetching」を参照してください。
<subclass-fetch-mode>join</subclass-fetch-mode>
Sybase ディクショナリの永続性プラグインのコンフィグレーション値。指定可能な各値の詳細については、Administration Console オンライン ヘルプの「Sybase ディクショナリ」を参照してください。
sybase-dictionary
要素の下位要素は、access-dictionary と同じです。さらに以下の下位要素 (デフォルト値を表示) も持ちます。
<sybase-dictionary>
...
<create-identity-column>true</create-identity-column>
<identity-column-name>UNQ_INDEX</identity-column-name>
</sybase-dictionary>
管理対象トランザクションと同期するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「kodo.BrokerImpl」を参照してください。
<sync-with-managed-transactions>false</sync-with-managed-transactions>
すべての永続クラスに対してマッピング ツールを実行し、永続クラスのマッピングとスキーマを実行時に同期させるかどうかを制御します。この要素により、マッピング ツールを手動で実行する手間が省かれ、テストやデバッグを短時間で完了することができます。詳細については、『Kodo Developer’s Guide』の「Runtime Forward Mapping」を参照してください。
<synchronize-mappings>false</synchronize-mappings>
テーブルの名前を指定します。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。デフォルト値は、次に示すように親要素によって異なります。
class-table-jdbc-seq
: OPENJPA_SEQUENCE_TABLE
table-jdbc-seq
: OPENJPA_SEQUENCE_TABLE
table-jdor-mapping-factory
: KODO_JDO_MAPPINGS
table-schema-factory
: OPENJPA_SCHEMA
value-table-jdbc-seq
: OPENJPA_SEQUENCES_TABLE
<table>KODO_JDO_MAPPING</table>
マッピング メタデータを XML 文字列としてデータベース テーブルに格納する kodo.jdo.jdbc.TableJDORMappingFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。この設定は JDO 1.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<table-deprecated-jdo-mapping-factory>
<table-name>JDO_MAPPING</table-name>
<urls>t3://localhost:7001/metadata.jar</urls>
<classpath-scan>build</classpath-scan>
<types>classname1;classname2</types>
<mapping-column>MAPPING_DEF</mapping-column>
<store-mode></store-mode>
<strict>false</strict>
<name-column>NAME</name-column>
<use-schema-validation>false</use-schema-validation>
<single-row>false</single-row>
<files>com/file1;com/file2</files>
<scan-top-down>false</scan-top-down>
<resources>com/aaa/package.jdo;com/bbb/package.jdo</resources>
</table-deprecated-jdo-mapping-factory>
独自のカスタム ジェネレータの作成に使用する kodo.kernel.Seq
インタフェースを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.kernel.TableJDBCSeq
)。
TableJDBCSeq
は、特殊な単一行のテーブルにグローバル シーケンス番号を格納します。このテーブルは、このテーブルを必要とするクラスに対してマッピング ツールを最初に実行したときに存在しない場合は作成されます。テーブルの操作には、そのクラスの main メソッドや sequencetable
シェル/バッチ スクリプトを使用することもできます (使用方法の詳細については、Javadoc の TableJDBCSeq.main
メソッドを参照)。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<table-jdbc-seq>
<type>0</type>
<allocate>50</allocate>
<table-name>OPENJPA_SEQUENCE_TABLE</table-name>
<table>OPENJPA_SEQUENCE_TABLE</table>
<primary-key-column>ID</primary-key-column>
<sequence-column>SEQUENCE_VALUE</sequence-column>
<increment>1</increment>
</table-jdbc-seq>
マッピング メタデータを XML 文字列としてデータベース テーブルに格納する kodo.jdo.jdbc.TableJDORMappingFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照)。この設定は JDO 2.0 で有効です。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<table-jdor-mapping-factory>
<use-schema-validation>false</use-schema-validation>
<type-column>0</type-column>
<constraint-names>false</constraint-names>
<table>KODO_JDO_MAPPINGS</table>
<types>classname1;classname2</types>
<store-mode></store-mode>
<mapping-column>false</mapping-column>
<strict>false</strict>
<name-column>NAME</name-column>
</table-jdor-mapping-factory>
外部キーおよび自動インクリメントを無視し、テーブルレベルのロックを最適化する、ステートメントのバッチ処理が可能な更新マネージャを定義します。これは、テーブルレベルのロックを使用し、デッドロックの回避を試みる場合に役立ちます。詳細については、『Kodo Developer’s Guide』の「kodo.jdbc.UpdateManager」および「Statement Batching」を参照してください。
<table-lock-update-manager>
<maximize-batch-size>true</maximize-batch-size>
</table-lock-update-manager>
class-table-jdbc-seq
: OPENJPA_SEQUENCES_TABLE
。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
native-jdbc-seq
: DUAL
。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
table-deprecated-jdo-mapping-factory
: JDO_MAPPING
。詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
table-jdbc-seq
: OPENJPA_SEQUENCE_TABLE
。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
table-schema-factory
: OPENJPA_SCHEMA
。詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
value-table-jdbc-seq
: OPENJPA_SEQUENCE_TABLE
。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。<table-name>JDO_MAPPING</table-name>
データベース スキーマに関する情報の格納および取得に使用する kodo.jdbc.schema.SchemaFactory
を表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.schema.TableSchemaFactory
)。
このスキーマ ファクトリは、スキーマ情報を XML ドキュメントとしてデータベース テーブル (スキーマ ファクトリがこのために作成) に格納します。このファクトリは、現在の JDBC ドライバで java.sql.DatabaseMetaData
標準インタフェースがサポートされていないが、実行時に一定のスキーマ検証を実行したい場合などに使用することができます。ただし、このファクトリを使用すると、格納されている XML スキーマ定義と実際のデータベースとの同期が困難になるため、無用に使用しないでください。
詳細については、『Kodo Developer’s Guide』の「Schema Factory」を参照してください。
<table-schema-factory>
<schema-column>SCHEMA_DEF</schema-column
<table-name>OPENJPA_SCHEMA</table-name>
<table>OPENJPA_SCHEMA</table>
<primary-key-column>ID</primary-key-column>
</table-schema-factory>
使用する Tangosol Coherence キャッシュの名前。詳細については、『Kodo Developer’s Guide』の「Tangosol Integration」を参照してください。
<tangosol-cache-name>kodo</tangosol-cache-name>
使用する Tangosol Coherence キャッシュのタイプ。有効な値は以下のとおりです。
詳細については、『Kodo Developer’s Guide』の「Tangosol Integration」を参照してください。
<tangosol-cache-type>2</tangosol-cache-type>
Tangosol Coherence キャッシュ システムと統合します。詳細については、『Kodo Developer’s Guide』の「Tangosol Integration」を参照してください。
<data-caches>
<tangosol-data-cache>
<name>kodo.dataCache</name>
<clear-on-close>false</clear-on-close>
<tangosol-cache-type>2</tangosol-cache-type>
<tangosol-cache-name>kodo</tangosol-cache-name>
<eviction-schedule>15,45 15 * * 1</eviction-schedule>
</tangosol-data-cache>
</data-caches>
TCP リモート コミット プロバイダをコンフィグレーションします。詳細については、『Kodo Developer’s Guide』の「TCP」を参照してください。
<tcp-remote-commit-provider>
<name>kodo.RemoteCommitProvider</name>
<max-idle>2</max-idle>
<num-broadcast-threads>2<num-broadcast-threads>
<recovery-time-millis>15000</recovery-time-millis>
<max-active>2</max-active>
<port>5636</port>
<addresses>[]</addresses>
</tcp-remote-commit-provider>
リモート通信用のトランスポート層を指定します。詳細については、『Kodo Developer’s Guide』の「Standalone Persistence Server」を参照してください。
<tcp-transport>
<so-timeout>0</so-timeout>
<host>localhost</host>
<port>5637</port>
</tcp-transport>
独自のカスタム ジェネレータの作成に使用する kodo.kernel.Seq
インタフェースを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.kernel.TimeSeededSeq
)。
このタイプでは、現在時刻にミリ秒単位で初期化され、値が要求されるたびに一定の割合でインクリメントされる静的なインメモリ カウンタが使用されます。これは単一の JVM 環境にのみ適しています。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<time-seeded-seq>
<type>0</type>
<increment>1</increment>
</time-seeded-seq>
リモート コミット プロバイダが通知をパブリッシュしたり、他の JVM から送信された通知をサブスクライブしたりするトピックを指定します。詳細については、『Kodo Developer’s Guide』の「JMS」を参照してください。
<topic>topic/KodoCommitProviderTopic</topic>
トピックの検索に使用する javax.jms.TopicConnectionFactory
ファクトリの JNDI 名を指定します。この設定は、使用しているアプリケーション サーバによって異なる場合があります。トピック インスタンスのデフォルトの JNDI 名の詳細については、使用しているアプリケーション サーバのマニュアルを参照してください。WebLogic の場合、TopicConnectionFactory
の JNDI 名は javax.jms.TopicConnectionFactory
です。詳細については、『Kodo Developer’s Guide』の「JMS」を参照してください。
<topic-connection-factory>java:/ConnectionFactory</topic-connection-factory>
スマート プロキシを使用するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Custom Proxies」を参照してください。
<track-changes>true</track-changes>
使用する JDBC トランザクションのアイソレーション レベルを指定します。
default
- JDBC ドライバのデフォルトのレベル。これがデフォルトです。none
- トランザクションのアイソレーションが設定されません。read-committed
- ダーティ リードは阻止され、反復不可能読み取りおよびファントム読み取りが可能です。read-uncommitted
- ダーティ リード、反復不可能読み取り、ファントム読み取りが可能です。repeatable-read
- ダーティ リードおよび反復不可能読み取りは阻止され、ファントム読み取りが可能です。serializable
- ダーティ リード、反復不可能読み取り、ファントム読み取りが阻止されます。
詳細については、『Kodo Developer’s Guide』の「Setting the Transaction Isolation」を参照してください。
<transaction-isolation>default</transaction-isolation>
使用するトランザクション モードを指定します。この設定は、セッションごとにオーバーライドできます。
詳細については、『Kodo Developer’s Guide』の「Integrating with the Transaction Manager」を参照してください。
<transaction-mode>local</transaction-mode>
WebLogic トランザクション ネーミング セマンティクスの定義に基づき、プロバイダが現在のトランザクション名を返します。詳細については、『Kodo Developer’s Guide』の「Configuring the Execution Context Name Provider」を参照してください。
<transacation-name-execution-context-name-provider/>
ジェネレータのタイプを指定します。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<type>0</type>
マッピングのタイプを格納する列の名前を指定します。有効なタイプ定数は次のとおりです。
詳細については、『Kodo Developer’s Guide』の「Mapping Factory」を参照してください。
<type-column>0</type-column>
永続クラスの完全修飾名を、セミコロン区切りのリストで指定します。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<types>classname1; classname2</types>
WebLogic MBeanServer へアクセスするために接続する必要のある URL。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in WebLogic 8.1 Group」を参照してください。
<URL>t3://localhost:7001</URL>
リモート サーバへアクセスするために接続する必要のある URL。詳細については、『Kodo Developer’s Guide』の「Client Managers」を参照してください。
<url>t3://localhost:7001/remote-server</url>
メタデータ ファイルまたは jar アーカイブの URL を、セミコロン区切りのリストで指定します。各 jar アーカイブでは、現在のメタデータ ファクトリに基づいて、アノテーションが付いた JPA エンティティまたは JDO メタデータ ファイルがスキャンされます。詳細については、『Kodo Developer’s Guide』の「Metadata Factory」を参照してください。
<urls>t3://localhost:7001/metadata.jar</urls>
完全修飾クラス名ではなく、各行の主キー値として各クラスのエンティティ名を使用するかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<use-aliases>false</use-aliases>
<use-schema-validation>true</use-schema-validation>
com.solarmetric.profile.ExecutionContextNameProvider
がキーの、現在の EntityManager/PersistenceManager に指定されたユーザ オブジェクトをプロバイダが返します。ユーザ オブジェクトは、OpenJPAEntityManager.putUserObject(Object,Object)
または PersistenceManager.putUserObject(Object,Object)
を使用して設定できます。詳細については、『Kodo Developer’s Guide』の「Configuring the Execution Context Name Provider」を参照してください。
<user-object-execution-context-name-provider/>
WebLogic MBeanServer へのアクセスに必要なユーザ名を指定します。この要素は設定しなければなりません。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in WebLogic 8.1 Group」を参照してください。
<wls81-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
<URL>t3://localhost:7001</URL>
<UserName>admin</UserName>
<Password>admin</Password>
</wls81-jmx>
PersistenceManager.getObjectById(oid, false)
の呼び出しから、空のオブジェクト (状態がロードされていないオブジェクト) を返すかどうかを指定するフラグ。これは、4.0 以上の Kodo のデフォルト動作です。前のバージョンの Kodo では、オブジェクトはデータストアから常にロードされていました。このプロパティを false
に設定すると、前のバージョンの動作になります。
詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<validate-false-returns-hollow>true</validate-false-returns-hollow>
データストアに特定の oid
が存在することを確認するかどうかを指定するフラグ。4.0 より前の Kodo では、PersistenceManager.getObjectById(oid, true)
を呼び出すと、対応するオブジェクトがキャッシュ済みであっても、データストアに特定の oid
が存在することを常に確認していました。4.0 以上の Kodo では、インスタンスがすでにキャッシュおよびロードされている場合は、データストアがチェックされません。このプロパティを true
に設定すると、前のバージョンの動作になります。
詳細については、『Kodo Developer’s Guide』の「Compatibility Configuration」を参照してください。
<validate-true-checks-store>false</validate-true-checks-store>
独自のカスタム ジェネレータの作成に使用する kodo.kernel.Seq
インタフェースを表すプラグイン文字列 (『Kodo Developer’s Guide』の「Plugin Configuration」を参照) を指定します (ここでは、kodo.jdbc.kernel.ValueTableJDBCSeq
)。
このシーケンスは
table-jdbc-seq
と似ていますが、クラスごとに 1 行という固定パターンではなく、シーケンス値に任意の数の行を持つことができます。詳細については、『Kodo Developer’s Guide』の「Generators」を参照してください。
<value-table-jdbc-seq>
<type>0</type>
<allocate>50</allocate>
<table-name>OPENJPA_SEQUENCE_TABLE</table-name>
<primary-key-value>DEFAULT</primary-key-value>
<table>OPENJPA_SEQUENCE_TABLE</table>
<primary-key-column>ID</primary-key-column>
<sequence-column>SEQUENCE_VALUE</sequence-column>
<increment>1</increment>
</value-table-jdbc-seq>
読み取り操作に対するペシミスティックなロック マネージャのインクリメント動作とバージョン チェックを有効にするかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<version-check-on-read-lock>false</version-check-on-read-lock>
書き込み操作に対するペシミスティックなロック マネージャのインクリメント動作とバージョン チェックを有効にするかどうかを指定するフラグ。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<version-check-on-write-lock>false</version-check-on-write-lock>
kodo.kernel.VersionLockManager
を指定します。このロック マネージャは排他ロックを行わない代わりに、読み取りロックされているすべてのインスタンスのバージョンがトランザクション終了時に変更されていないことを確認することによって、読み取りの一貫性を確保します。さらに、書き込みロックにより、オブジェクトが変更されていない場合でも、トランザクション終了時のバージョンがインクリメントされます。これにより、非ブロック動作と読み取りの一貫性が確保されます。詳細については、『Kodo Developer’s Guide』の「Lock Manager」を参照してください。
<version-lock-manager>
<version-check-on-read-lock>false</version-check-on-read-lock>
<version-check-on-write-lock>false</version-check-on-write-lock>
</version-lock-manager>
管理を有効にし、ローカル JVM で JMX 管理コンソールを呼び出します。Management Group および WebLogic 8.1 Group
のオプション パラメータをサポートします。詳細については、『Kodo Developer’s Guide』の「Optional Parameters in Management Group」および「Optional Parameters in WebLogic 8.1 Group」を参照してください。
<wls81-jmx>
<MBeanServerStrategy>any-create</MBeanServerStrategy>
<EnableLogMBean>true</EnableLogMBean>
<EnableRuntimeMBean>true</EnableRuntimeMBean>
<URL>t3://localhost:7001</URL>
<UserName>admin</UserName>
<Password>admin</Password>
</wls81-jmx>
非オプティミスティック トランザクション中に所得されたオブジェクトをロックする際の、デフォルトの書き込みレベルを設定します。有効な値は以下のとおりです。
注意 : | デフォルトの JDBC ロック マネージャでは、read および write の両ロック レベルは同じです。 |
詳細については、『Kodo Developer’s Guide』の「Object Locking」を参照してください。
<write-lock-level>read</write-lock-level>