Example

<abstract-store-broker-factory/>

access-dictionary

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines configuration values for the Access Dictionary. For a complete description of each of the values that you can specify, see "Access Dictionary Configuration" in the Oracle Fusion Middleware Oracle WebLogic Server Administration Console Help.

Example

The default values for each of the configuration values are shown in the example below.

Function

Flag that specifies whether to allow access to unloaded fields of detached objects. Set to false to throw an exception whenever an unloaded field is accessed. This option is only available when you use detached state managers.

Example

action

Function

Controls the action taken when the inverse manager detects an inconsistent bidirectional relation. Valid options include:

warn—Log a warning.

exception—Throw an exception.

For more information, see "Managed Inverses" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<action>warn</action>

addresses

Range of values: Valid IP addresses

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a semicolon separated list of IP addresses to which notifications should be sent. For more information, see "TCP" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<addresses>[]</addresses>

advanced-sql

Range of values: String

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures advanced SQL features. For more information, see "kodo.jdbc.SQLFactory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

aggregate-listeners

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a list of aggregate listeners to make available to all queries. Each listener must implement the org.apache.openjpa.kernel.exps.AggregateListener interface. For more information, see "kodo.AggregateListeners" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies the number of values to allocate on each database trip. Defaults to 50, meaning the class will set aside the next 50 numbers each time it accesses the sequence table. In this case, Kodo only accesses the database to get new sequence numbers once every 50 sequence number requests. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<allocate>50</allocate>

assert-allowed-type

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Flag that specifies whether to immediately throw an exception if you attempt to add an element to a collection or map that is not assignable to the element type declared in metadata. For more information, see "Custom Proxies" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies the event on which the managed instances are automatically detached. When specified as a child of the auto-detaches element, valid event types include:

close (0)—Detach all objects when the PersistenceManager closes. This is the default.

commit (1)—Detach all objects when a transaction ends.

nontx-read (2)—Reads outside of a transactions will automatically detach instances before returning them.

For more information, see "Automatic Detachment" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<auto-detach>close</auto-detach>

auto-detaches

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a list of events on which the managed instances are automatically detached. Specifies one or more auto-detach elements. For more information, see "Automatic Detachment" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Example

<base-name>base</base-name>

batching-operation-order-update-manager

Range of values: N/A

Default value: N/A

Parent elements:

profiling

Function

Defines an update manager capable of statement batching, that ignores foreign keys and table-level locking, but optimizes based on the order in which the application has modified objects. For more information, see "kodo.jdbc.UpdateManager" and "Statement Batching" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

buffer-size

Function

Specifies the buffer size of the remote commit provider. For more information, see "Remote Commit Provider Configuration" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<buffer-size>10</buffer-size>

cache-map

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines the cache map used to associate query strings and their parsed form. For more information, see "Query Compilation Cache" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

channel

Function

Specifies the channel to which you want to log. For more information, see "Orphaned Keys" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<channel>openjpa.Runtime</channel>

class-table-jdbc-seq

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Seq interface to use to create your own custom generators, in this case kodo.jdbc.kernel.TableJDBCSeq.

The TableJDBCSeq uses a special single-row table to store a global sequence number. If the table does not already exist, it is created the first time you run the mapping tool on a class that requires it. You can also use the class' main method or the sequencetable shell/bat script to manipulate the table; see the TableJDBCSeq.main method Javadoc for usage details.

For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies a semicolon-separated list of directories or jar archives listed in your classpath. Each directory and jar archive is scanned for annotated JP entities or JDO metadata files based on your metadata factory. For more information, see "Metadata Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

close-on-managed-commit

Function

Flag that specifies whether the JDO PersistenceManager closes after a managed transaction commits, assuming you have invoked the close method.

If set to false, then the PersistenceManager will not close. This means that objects passed to a processing tier in the same JVM will still be usable, as their owning PersistenceManager will still be open. This behavior is not in strict compliance with the JDO specification, but is convenient for applications that were coded against Kodo 2.x, which did not close the PersistenceManager in these situations.

Example

cluster-remote-commit-provider

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures Kodo to share commit notifications among persistenceManagerFactories in a cluster. For more information, see "Remote Commit Provider Configuration" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

commons-log-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the Apache Jakarta Commons Logging thin library for issuing log messages. The Commons Logging libraries act as a wrapper around a number of popular logging APIs, including the Jakarta Log4J project, and the native java.util.logging package in JDK 1.4. If neither of these libraries are available, then logging will fall back to using simple console logging.

concurrent-hash-map

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines the concurrent hash map used to associate query strings and their parsed form. For more information, see "Query Compilation Cache" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Full class name of either the JDBC java.sql.Driver or a javax.sql.DataSource implementation to use to connect to the database. For more information, see "JDBC" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

connection-factory2-name

Range of values: JNDI name

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

The JNDI location of an unmanaged javax.sql.DataSource to use to connect to the database. For more information, see "XA Transactions" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

connection-password

Function

Password for the user specified by connection-user-name. For more information, see "JDBC" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<connection-password>tiger</connection-password>

connection-properties

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

A plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) listing properties to configure the driver listed in the connection-driver-name element. If the given driver class is a DataSource, these properties will be used to configure the bean properties of the DataSource. For more information, see "JDBC" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

always—Each EntityManager or PersistenceManager obtains a single connection and uses it until the EntityManager or PersistenceManager closes.

on-demand—Connection is obtained only when needed. This option is equivalent to the transaction option when datastore transactions are used. For optimistic transactions, though, it means that a connection will be retained only for the duration of the datastore flush and commit process.

persistence-manager—Connection is obtained from the persistence manager.

transaction—Connection is obtained when each transaction begins (optimistic or datastore), and is released when the transaction completes. Non-transactional connections are obtained on-demand.

Function

Username to use when connecting to the data source specified by connection-url. For more information, see "JDBC" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<connection-user-name>scott</connection-user-name>

connection2-driver-name

Range of values: Valid username

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Full class name of either the JDBC java.sql.Driver or a javax.sql.DataSource implementation to use to connect to the unmanaged database. For more information, see "Managed and XA DataSources" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

constraint-names

Function

Flag that specifies whether to include the names of foreign key and unique constraints in all generated mappings. For more information, see "Mapping Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

copy-object-ids

Function

Flag that specifies whether to copy oid objects before returning them to you. Kodo versions prior to 3.0 always copied oid objects before returning them to you. This prevents possible errors resulting from you mutating the oid object by reference, but was not very efficient for the majority of users who do not modify oid instances. Thus Kodo 3.0 and higher does not copy oids by default. Set this property to true to force Kodo to copy the oids.

Example

custom-aggregate-listener

Function

Defines a custom aggregate listener. Each listener must implement the org.apache.openjpa.kernel.exps.AggregateListener interface. For more information, see "kodo.AggregateListeners" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

custom-connection-decorator

Function

Enables you to define a custom org.apache.openjpa.lib.jdbc.ConnectionDecorator implementation to install on all connection pools. For more information, see "kodo.jdbc.ConnectionDecorators" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

custom-update-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Enables you to define a custom update manager to use to flush persistent object changes to the datastore. For more information, see "kodo.jdbc.UpdateManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

data-caches

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies plugins used to cache data loaded from the data store. Must implement org.apache.openjpa.datacache.DataCache. For more information, see "Data Cache" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

data-cache-manager-impl

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Enables the kodo.datacache.DataCacheManager that manages the system data caches. For more information, see "kodo.DataCacheManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<data-cache-manager-impl/>

data-cache-timeout

Range of values: Integer

Default value: -1

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the amount of time in milliseconds that a class' data is valid. A value of -1 specifies no expiration. See "Setting the Data Cache Timeout Value" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-access-type>FIELD</default-access-type>

default-broker-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.BrokerFactory type to use, in this case the default, which is JDBC. For more information, see "kodo.BrokerFactory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-broker-factory/>

default-broker-impl

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Broker type to use at runtime, in this case the default. For more information, see "kodo.BrokerImpl" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-broker-impl/>

default-class-resolver

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.util.ClassResolver implementation to use for class name resolution, in this case the default. You may wish to plug in your own resolver if you have special class loading needs. For more information, see "kodo.ClassResolver" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-mapping-defaults>jpa</default-mapping-defaults>

default-meta-data-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.meta.MetaDataFactory type to use, in this case the default, which is kodo.jdo.JDOMetaDataFactory. For more information, see "Metadata Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-meta-data-factory/>

default-meta-data-repository

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.meta.MetaDataRepository to use to store the metadata for your persistent classes, in this case the default,. For more information, see "Metadata Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-meta-data-repository/>

default-orphaned-key-action

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.event.OrphanedKeyAction to invoke when Kodo discovers an orphaned datastore key, in this case the default which is kodo.event.LogOrphanedKeyAction. In this case, Kodo logs a message for each orphaned key. For more information, see "Orphaned Keys" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

default-proxy-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.util.ProxyManager to use for proxying mutable second class objects, in this case the default, which is kodo.util.ProxyManagerImpl. For more information, see "Custom Proxies" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-proxy-manager/>

default-query-compilation-cache

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the Map used to associate query strings and their parsed form, in this case the default. For more information, see "Query Compilation Cache" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-query-compilation-cache/>

default-savepoint-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.SavepointManager to use for managing transaction savepoints, in this case the default which is kodo.kernel.InMemorySavepointManager. This plugin stores all state, including field values, in memory. Because of this behavior, each set savepoint is designed for small to medium transactional object counts. For more information, see "Savepoints" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-savepoint-manager/>

default-schema-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema, in this case the default which is kodo.jdbc.schema.DynamicSchemaFactory.

The DynamicSchemaFactory is the most performant schema factory, because it does not validate mapping information against the database. Instead, it assumes all object-relational mapping information is correct, and dynamically builds an in-memory representation of the schema from your mapping metadata. When using this factory, it is important that your mapping metadata correctly represent your database's foreign key constraints so that Kodo can order its SQL statements to meet them.

For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-schema-factory/>

default-sql-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.SQLFactory to use to abstract common SQL constructs, in this case the default. For more information, see "kodo.jdbc.SQLFactory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-meta-data-factory/>

default-update-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies to use the default update manager, kodo.jdbc.kernel.ConstraintUpdateManager. For more information, see "kodo.jdbc.UpdateManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<default-update-manager/>

deprecated-jdo-mapping-defaults

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the mapping defaults for JDO 1.0. For more information, see "Mapping Defaults" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

The deprecated-jdo-mapping-defaults element shares the same subelements as Section B.195, "mapping-defaults-impl.".

Example

detach-options-all

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Sets the detach state to all to detach all fields and relations. Be very careful when using this mode; if you have a highly-connected domain model, you could end up bringing every object in the database into memory. For more information, see "Defining the Detached Object Graph" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

detach-options-fetch-groups

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Sets the detach state to detach all fields and relations in the default fetch group, and any other fetch groups that you have added to the current fetch configuration. For more information on custom fetch groups, see "Fetch Groups" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO. For more information about the detach state, see "Defining the Detached Object Graph" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

detach-options-loaded

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Sets the detach state to detach all fields and relations that are already loaded, but do not include unloaded fields in the detached graph. This is the default. For more information about the detach state, see "Defining the Detached Object Graph" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

detach-state

Function

1—(loaded) Detach all fields adn relations that are already loaded, but do not include unloaded fields in the detached graph.

2—(fetch-groups) Detach all fields and relations in the current fetch configuration.

3—(all) Detach all fields and relations. Be very careful when using this mode; if you have a highly-connected domain model, you could end up bringing every object in the database into memory.

Any field that is not included in the set determined by the detach mode is set to its Java default value in the detached instance. For more information, see "Defining the Detached Object Graph" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Flag that specifies whether Kodo should take advantage of a detached state field to make the attach process more efficient. This field is added by the enhancer and is not visible to your application. For more information, see "Attach Behavior" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Flag that specifies whether to use a detached state manager. A detached state manager makes attachment much more efficient. Like a detached state field, however, it breaks serialization compatibility with the unenhanced class if it is not transient.

This setting piggybacks on the detached-state-field element. If your detached state field is transient, the detached state manager will also be transient. If the detached state field is disabled, the detached state manager will also be disabled. This is typically what you want.

By setting the detach-state-field element to true (or transient) and setting this property to false, however, you can use a detached state field without using a detached state manager. This may be useful for debugging or for legacy Kodo users who find differences between Kodo's behavior with a detached state manager and Kodo's older behavior without one.

Function

Flag that specifies whether to use a transient detached state field. Setting this to true provides the benefits of a detached state field to local objects that are never serialized, but retains serialization compatibility for client tiers without access to the enhanced versions of your classes.

Example

detached-new

Range of values: true | false

Default value: true

Parent elements:

persistence-configuration
persistence-configuration-unit
kodo-broker

Function

Flag that specifies whether to use a non-transient detached state field so that objects crossing serialization barriers can still be attached efficiently. This requires, however, that your client tier have the enhanced versions of your classes and the Kodo libraries.

diagnostic-context

Function

String that is prepended to all log messages. The kodo.ID property is used by default, if specified. For more information, see "Kodo Logging" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<diagnostic-context>KodoID</diagnostic-context>

dynamic-data-structs

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Flag that specifies whether to dynamically generate customized structs to hold persistent data. Both the Kodo data cache and the remote framework rely on data structs to cache and transfer persistent state. With dynamic structs, Kodo can customize data storage for each class, eliminating the need to generate primitive wrapper objects. This saves memory and speeds up certain runtime operations.

The cost is a longer warm-up time for the application—generating and loading custom classes into the JVM takes time. Therefore, only set this property to true if you have a long-running application where the initial cost of class generation is offset by memory and speed optimization over time.

Example

<dynamic-data-structs>false</dynamic-data-structs>

dynamic-schema-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema, in this case the default which is kodo.jdbc.schema.DynamicSchemaFactory.

The DynamicSchemaFactory is the most performant schema factory, because it does not validate mapping information against the database. Instead, it assumes all object-relational mapping information is correct, and dynamically builds an in-memory representation of the schema from your mapping metadata. When using this factory, it is important that your mapping metadata correctly represent your database's foreign key constraints so that Kodo can order its SQL statements to meet them.

For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<dynamic-schema-factory/>

eager-fetch-mode

Range of values: join | multiple | none | parallel | single

Default value: parallel

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures eager fetching. Eager fetching is the ability to efficiently load subclass data and related objects along with the base instances being queried. For complete details, see "Eager Fetching" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

You can set this value to one of the following:

join—In this mode, Kodo joins to-one relations in the configured fetch groups. If Kodo is loading data for a single instance, then Kodo will also join to any collection field in the configured fetch groups. When loading data for multiple instances, though, (such as when executing a Query) Kodo will not join to collections by default. Instead, Kodo defaults to parallel mode for collections, as described below. You can force Kodo to use a join rather than parallel mode for a collection field using the metadata extension described in "Eager Fetch Mode" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Under join mode, Kodo uses a left outer join (or inner join, if the relations' field metadata declares the relation non-nullable) to select the related data along with the data for the target objects. This process works recursively for to-one joins, so that if Person has an Address, and Address has a TelephoneNumber, and the fetch groups are configured correctly, Kodo might issue a single select that joins across the tables for all three classes. To-many joins can not recursively spawn other to-many joins, but they can spawn recursive to-one joins.

Under the join subclass fetch mode, subclass data in joined tables is selected by outer joining to all possible subclass tables of the type being queried. Unjoined subclass data is selected with a SQL UNION where possible. As you'll see below, subclass data fetching is configured separately from relation fetching, and can be disabled for specific classes.

multiple—Same as parallel.

none—No eager fetching is performed. Related objects are always loaded in an independent select statement. No joined subclass data is loaded unless it is in the table(s) for the base type being queried. Unjoined subclass data is loaded using separate select statements rather than an SQL UNION operation.

parallel—Under this mode, Kodo selects to-one relations and joined collections as outlined in the join mode description above. Unjoined collection fields, however, are eagerly fetched using a separate select statement for each collection, executed in parallel with the select statement for the target objects. The parallel selects use the WHERE conditions from the primary select, but add their own joins to reach the related data. Thus, if you perform a query that returns 100 Company objects, where each company has a list of Employee objects and Department objects, Kodo will make three queries. The first will select the company objects, the second will select the employees for those companies, and the third will select the departments for the same companies. Just as for joins, this process can be recursively applied to the objects in the relations being eagerly fetched. Continuing our example, if the Employee class had a list of Projects in one of the fetch groups being loaded, Kodo would execute a single additional select in parallel to load the projects of all employees of the matching companies.

Using an additional select to load each collection avoids transferring more data than necessary from the database to the application. If eager joins were used instead of parallel select statements, each collection added to the configured fetch groups would cause the amount of data being transferred to rise dangerously, to the point that you could easily overwhelm the network.

Polymorphic to-one relations to table-per-class mappings use parallel eager fetching because proper joins are impossible. You can force other to-one relations to use parallel rather than join mode eager fetching using the metadata extension described in "Eager Fetch Mode" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Setting your subclass fetch mode to parallel affects table-per-class and vertical inheritance hierarchies. Under parallel mode, Kodo issues separate selects for each subclass in a table-per-class inheritance hierarchy, rather than UNIONing all subclass tables together as in join mode. This applies to any operation on a table-per-class base class: query, by-id lookup, or relation traversal.

When dealing with a vertically-mapped hierarchy, on the other hand, parallel subclass fetch mode only applies to queries. Rather than outer-joining to subclass tables, Kodo will issue the query separately for each subclass. In all other situations, parallel subclass fetch mode acts just like join mode in regards to vertically-mapped subclasses.

When Kodo knows that it is selecting for a single object only, it never uses parallel mode, because the additional selects can be made lazily just as efficiently. This mode only increases efficiency over join mode when multiple objects with eager relations are being loaded, or when multiple selects might be faster than joining to all possible subclasses.

Example

<EnableLogMBean>true</EnableLogMBean>

EnableRuntimeMBean

Range of values: true | false

Default value: N/A

Parent elements:

jmx
local-jmx

Function

Flag that specifies whether the RuntimeMBean should be registered. For more information, see "Optional Parameters in Management Group" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<EnableRuntimeMBean>true</EnableRuntimeMBean>

evict-from-data-cache

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration
persistence-configuration-unit
kodo-broker

Function

Flag that specifies whether to evict data from the data cache at specific times. You defined the eviction schedule using the eviction-schedule element. For more information, see "Data Cache" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

You can clear a data cache at specific times. The EvictionSchedule property of Kodo's cache implementation accepts a cron style eviction schedule. The format of this property is a whitespace-separated list of five tokens. You can use the * symbol (asterisk) as a wildcard to match all values. The following lists the tokens in the order that they must be specified:

Example

The following setting schedules the default cache to evict values from the cache at 15 and 45 minutes past 3:00 pm on Sunday.

<eviction-schedule>15,45 15 * * 1</eviction-schedule>

exception-orphaned-key-action

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.event.OrphanedKeyAction to invoke when Kodo discovers an orphaned datastore key, in this case kodo.event.ExceptionOrphanedKeyAction. In this case, Kodo throws an exception for each orphaned key. In JPA, the exception will be javax.persistence.EntityNotFoundException. In JDO, the exception type will be javax.jdo.JDOObejctNotFoundException. For more information, see "Orphaned Keys" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<exception-orphaned-key-action/>

exception-reconnect-attempts

Function

Specifies the number of time to attempt to reconnect if the JMS system notifies Kodo of a serious connection error. A value of 0 (the default) indicates that Kodo will log the error but otherwise ignore it, hoping the connection is still valid. For more information, see "JMS" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<exception-reconnect-attempts>0<exception-reconnect-attempts>

execution-context-name-provider

Range of values: N/A

Default value: N/A

Parent elements: N/A

Function

Configure the execution context name provider. For more information, see "kodo.ExecutionContextNameProvider" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

kodo.meta.MetaDataFactory to use to store and retrieve object-relational mapping information for your persistent classes. This setting is valid for JDO 1.0. For more information, see "Mapping Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

fetch-batch-size

Range of values: Integer

Default value: -1

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

The number of rows to fetch at one time when scrolling through a result set. The fetch size can also be set at runtime, as described in "Large Result Sets" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<fetch-batch-size>-1</fetch-batch-size>

fetch-direction

Range of values: forward | reverse | unknown

Default value: true

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

The expected order in which query result lists are accessed. This value affects the type of data structure Kodo uses to store the results, and is passed to the JDBC driver in case it can optimize for certain access patterns. This element accepts the following values, each of which corresponds exactly to the same-named java.sql.ResultSet FETCH constant:

forward—Query results are listed in order. This is the default.

reverse—Query results are listed in reverse order.

unknown—The order is not specified.

This property can also be varied at runtime, as described in "Large Result Sets" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<fetch-direction>forward</fetch-direction>

fetch-group

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit
fetch-group

Function

Name of a fetch group. Fetch group names are global, and are expected to be shared among classes. For example, a shopping website may use a detail fetch group in each product class to efficiently load all the data needed to display a product's "detail" page. The website might also define a sparse list fetch group containing only the fields needed to display a table of products, as in a search result.

The following names are reserved for use by Kodo: default, values, all, none, and any name beginning with jdo, ejb, or kodo.

For more information, see "Custom Fetch Groups" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<fetch-groups>
<fetch-group>detail</fetch-group>
</fetch-groups>

fetch-groups

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Define one or more custom fetch groups.

By default, Kodo places any field that is eagerly loaded according to the JPA metadata rules into the built-in default fetch group. You may define your own named fetch groups and activate or deactivate them at runtime. Kodo will eagerly-load the fields in all active fetch groups when loading objects from the datastore. For more information, see "Custom Fetch Groups" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

If the parent element is file-schema-factory, specifies the resource name of the XML schema file. By default, the factory looks for a resource called package.schema located in any top-level directory of the CLASSPATH or in the top level of any JAR in your CLASSPATH. For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

If the parent element is log-factory-impl, specifies the name of the file to which messages are logged. Specify stdout or stderr to log messages to standard out and standard error, respectively. The default is stderr. For more information, see "Kodo Logging" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<file>stdout</file>

file-name

Function

Specifies the resource name of the XML schema file. By default, the factory looks for a resource called package.schema located in any top-level directory of the CLASSPATH or in the top level of any JAR in your CLASSPATH. For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<file-name>package.schema</file-name>

file-schema-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema, in this case kodo.jdbc.schema.FileSchemaFactory.

This factory is a lot like the table-schema-factory, and has the same advantages and disadvantages. Instead of storing its XML schema definition in a database table, though, it stores it in a file.

For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies a semicolon-separated list of metadata files or JAR archives. Each jar archive will be scanned for annotated JPA entities or JDO metadata files based on your metadata factory. For more information, see "Metadata Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<files>com/file1;com/file2</files>

filter-listeners

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines one or more full plugin strings (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) for custom kodo.FilterListeners to make available to all queries, in addition to the standard set of listeners. You can also add filter listeners to individual queries, as described in "Query Language Extensions" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

For more information, see "kodo.FilterListeners" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

flush-before-queries

Function

Flag that specifies whether to flush any changes made in the current transaction to the datastore before executing a query. Valid values include:

true—Always flush rather than executing the query in-memory. If the current transaction is optimistic, Kodo will begin a non-locking datastore transaction. This is the default.

false—Never flush before a query.

with-connection—Flush only if the EntityManager or PersistenceManager has already established a dedicated connection to the datastore, otherwise execute the query in-memory.

This option is useful if you use long-running optimistic transactions and want to ensure that these transactions do not consume database resources until commit. Kodo's behavior with this option is dependent on the transaction status and mode, as well as the configured connection retain mode described earlier in this section.

Example

gui-jmx

Range of values: N/A

Default value: N/A

Parent elements:

jmx

Function

Enable management and invoke the JMX management console in the local JVM. Supports optional parameters in the Management Group, as described in "Optional Parameters in Management Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Example

<profiling>
<gui-profiling/>
</profiling>

Host

Range of values: N/A

Default value: N/A

Parent elements:

jmx
mx4j1-jmx

Function

Hostname on which the RMI registry naming service listens. Defaults to localhost. For more information, see "Optional Parameters in Remote Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<Host>localhost</Host>

host

Function

Specifies the host name of the server. This setting is used by clients, not by the server. For more information, see "Standalone Persistence Server" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<host>localhost</host>

http-transport

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the URL of the remote server. For more information, see "Client Managers" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<http-transport>
<url>servlet-url</url>
</http-transport>

ignore-changes

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration
persistence-configuration-unit
kodo-broker

Function

Flag that specifies whether to consider modifications to persistent objects made in the current transaction when evaluating queries. Setting this to true allows Kodo to ignore changes and execute the query directly against the datastore. A value of false forces Kodo to consider whether the changes in the current transaction affect the query, and if so to either evaluate the query inmemory or flush before running it against the datastore. For more information, see "kodo.IgnoreChanges" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<ignore-changes>false</ignore-changes>

ignore-unmapped

Function

Flag that specifies whether to ignore unmapped base classes and instead use one row per least-derived mapped class. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

ignore-virtual

Function

Flag that specifies whether to ignore virtual classes. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<ignore-virtual>false</ignore-virtual>

in-memory-savepoint-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.SavepointManager to use for managing transaction savepoints, in this case kodo.kernel.InMemorySavepointManager. This plugin stores all state, including field values, in memory. Because of this behavior, each set savepoint is designed for small to medium transactional object counts. For more information, see "Savepoints" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

jdbc-broker-factory

Function

A plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.BrokerFactory type to use, in this case JDBC. For more information, see "kodo.BrokerFactory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<jdbc-broker-factory/>

jdbc-listeners

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines one or more full plugin strings (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) for custom kodo.jdbc.kernel.exps.JDBCFilterListeners to make available to all queries, in addition to the standard set of listeners. You can also add filter listeners to individual queries, as described in "Query Language Extensions" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<jdbc-listeners>detail</jdbc-listeners>

jdbc3-savepoint-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.SavepointManager to use for managing transaction savepoints, in this case the default which is kodo.jdbc.kernel.JDBCSavepointManager. This plugin implements savepoints by issuing a flush to the database. For more information, see "Savepoints" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

JNDIName

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit
JNDIName

Function

JNDI name under which to register the remote JMX adaptor. Defaults to jrmp. For more information, see "Optional Parameters in Remote Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<JNDIName>jrmp</JNDIName>

kodo-broker

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures the kodo.BrokerImpl. For more information, see "kodo.BrokerImpl" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

kodo-data-cache-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Enables the kodo.datacache.DataCacheManager that manages the system data caches. For more information, see "kodo.DataCacheManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

kodo-pooling-data-source

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures the kodo.jdbc.schema.KodoPoolingDataSource which by default performs connection pooling. For more information, see "JDBC" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

kodo-sql-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.SQLFactory to use to abstract common SQL constructs. For more information, see "kodo.jdbc.SQLFactory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

large-transaction

Function

Flag that specifies whether the transaction will generate a large number of objects.

Example

<large-transaction>false</large-transaction>

lazy-schema-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema, in this case kodo.jdbc.schema.LazySchemaFactory.

As persistent classes are loaded by the application, Kodo reads their metadata and object-relational mapping information. This factory uses the java.sql.DatabaseMetaData interface to reflect on the schema and ensure that it is consistent with the mapping data being read. Because the factory does not reflect on a table definition until that table is mentioned by the mapping information, it is referred to as lazy. Use this factory if you want up-front validation that your mapping metadata is consistent with the database during development.

For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<level>4</level>

local-jmx

Range of values: N/A

Default value: N/A

Parent elements:

jmx

Function

Enabled local management. This setting is suitable for use in JBoss and other environments where all MBeans should be registered with a JMX MBeanServer for either management via a user defined mechanism, or via a mechanism defined by the MBeanServer. Supports optional parameters in the Management Group, as described in "Optional Parameters in Management Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

local-profiling

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit
profiling

Function

Enable profiling without export or GUI. Useful when trying to access the ProfilingAgent programmatically. For more information, see "Profiling" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<profiling>
<local-profiling/>
</profiling>

lock-timeout

Range of values: Integer

Default value: -1

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Default amount of time that Kodo waits when trying to obtain a lock. A value of -1 specifies that there is no limit. For more information, see "Configuring Default Locking" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

log-orphaned-key-action

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.event.OrphanedKeyAction to invoke when Kodo discovers an orphaned datastore key, in this case kodo.event.LogOrphanedKeyAction. In this case, Kodo logs a message for each orphaned key. For more information, see "Orphaned Keys" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

log4j-log-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies to use Log4J for logging. In a standalone application, Log4J logging levels are controlled by a resource named log4j.properties, which should be available as a top-level resource (either at the top level of a jar file, or in the root of one of the CLASSPATH directories). When deploying to a web or EJB application server, Log4J configuration is often performed in a log4j.xml file instead of a properties file. For further details on configuring Log4J, please see the Log4J Manual at http://jakarta.apache.org/log4j/docs/manual.html. For more information, see "Log4J" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies the login timeout. For more information, see "Using the Kodo Data Source" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<login-timeout>0</login-timeout>

lrs-size

Range of values: query | last | unknown

Default value: query

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the size of results sets. This property is only used if you change the fetch batch size from its default of -1 so that Kodo uses the on-demand results loading. Valid values include:

query—The first time you ask for the size of a query result, Kodo will perform a SELECT COUNT(*) query to determine the number of expected results. Note that depending on transaction status and settings, this can mean that the reported size is slightly different than the actual number of results available. This is the default.

last—If you have chosen a scrollable result set type, this setting will use the ResultSet.last method to move to the last element in the result set and get its index. Unfortunately, some JDBC drivers will bring all results into memory in order to access the last one. Note that if you do not choose a scrollable result set type, then this will behave exactly like unknown. The default result set type is forward-only, so you must change the result set type in order for this property to have an effect.

unknown—Kodo returns Integer.MAX_VALUE as the size for any query result that uses on-demand loading.

For more information, see "Large Result Sets" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

When a child element of orm-file-jdor-mapping-factory, specifies the logical name of these mappings. Mapping files are suffixed with logicalname.orm. If not specified, the kodo.Mapping configuration property is used. For more information, see "Mapping Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies the name of the column that holds the XML mapping. For more information, see "Mapping Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<mapping-column>MAPPING_DEF</mapping-column>

mapping-defaults-impl

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures the mapping defaults if you set default-mapping-defaults to jdo. For a complete description of each of the values that you can specify, see "Mapping Defaults" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

max-active

Function

Specifies the maximum allowed number of TCP sockets (channels) to open simultaneously between each peer in the cluster. For more information, see "TCP" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<max-active>2</max-active>

max-idle

Function

Specifies the maximum allowed number of TCP sockets (channels) to open simultaneously between each peer in the cluster. For more information, see "TCP" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<max-idle>2</max-idle>

max-size

Range of values: Integer

Default value: 2147483647

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines the maximum size of the concurrent hash map used to associate query strings and their parsed form. For more information, see "Query Compilation Cache" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDOv.

Function

Flag that specifies whether to sort statements in order to optimize batch size when statement batching is on. For more information, see "kodo.jdbc.UpdateManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<maximize-batch-size>true</maximize-batch-size>

MBeanServerStrategy

Range of values: any-create | create | agentID:<agentID>

Default value: any-create

Parent elements:

jmx
local-jmx

Function

If JMX-based management is enabled, Kodo needs to locate an existing MBeanServer or create a new one, based on one of the following options:

any-create—Locate an existing MBeanServer. If multiple are found, use the first one. If none are found, create a new server. This is the default.

create—Create a new server. Do not attempt to find an existing MBeanServer.

agentId:<agentID>—Locate an existing MBeanServer with the given agent id. If not found, create a new server.

multithreaded

Function

Flag that specifies whether persistent instances and Kodo components are accessed by multiple threads at once. For more information, see "kodo.Multithreaded" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Name of the column that holds the mapping name. For class mappings, the mapping name is the class name. For named queries and sequences, it is the sequence or query name. For more information, see "Mapping Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<name-column>NAME</name-column>

NamingImpl

Range of values: Valid classname

Default value: N/A

Parent elements:

jmx
jmx2-jmx

Function

Classname of the naming service implementation to start in order to register the RMI connector with a JNDI name. Defaults to mx4j.tools.naming.NamingService, which is appropriate for MX4J v. 2.x. If set to the empty string, no naming service will be started. This setting is appropriate if a naming service is already running, or if a non-RMI connector is used. For more information, see "Optional Parameters in JSR 160 Group" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<NamingImpl>mx4j.tools.naming.NamingService</NamingImpl>

native-jdbc-seq

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Seq interface to use to create your own custom generators, in this case kodo.jdbc.kernel.NativeJDBCSeq.

Many databases have a concept of native sequences—a built-in mechanism for obtaining incrementing numbers. For example, in Oracle, you can create a database sequence with a statement like CREATE SEQUENCE MYSEQUENCE. Sequence values can then be atomically obtained and incremented with the statement SELECT MYSEQUENCE.NEXTVAL FROM DUAL. Kodo provides support for this common mechanism of sequence generation with the NativeJDBCSeq.

For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Flag that specifies whether the Kodo runtime allows you to read data outside of a transaction. For more information, see "kodo.NontransacationalRead" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<nontransactional-read>true</nontransactional-read>

nontransactional-write

Function

Flag that specifies whether the you can modify persistent objects and perform persistence operations outside of a transaction. Changes will take effect in the next transaction. For more information, see "kodo.NontransacationalWrite" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<nontransactional-write>false</nontransactional-write>

num-broadcast-threads

Function

Specifies the number of threads to create for the purpose of transmitting events to peers. You should increase this value as the number of concurrent transactions increases. The maximum number of concurrent transactions is a function of the size of the connection pool. See the MaxActive property of kodo.ConnectionFactoryProperties in "Using the Kodo Data Source" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO. Setting a value of 0 will result in behavior where the thread invoking commit will perform the broadcast directly. For more information, see "TCP" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<num-broadcast-threads>2<num-broadcast-threads>

operation-order-update-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines an update manager that writes SQL in object-level operation order. For more information, see "kodo.jdbc.UpdateManager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

oracle-savepoint-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.SavepointManager to use for managing transaction savepoints, in this case the default which is kodo.jdbc.sql.OracleSavepointManager. This plugin operates similarly to jdbc3-savepoint-manager, but it uses Oracle-specific calls. This plugin requires using the Oracle JDBC driver and database, versions 9.2 or higher. This plugin implements savepoints by issuing a flush to the database. For more information, see "Savepoints" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

order-dirty-objects

Function

Flag that specifies whether Kodo maintains the order that changes were made to dirty objects when writing the changes back to the database.

Example

<order-dirty-objects>false</order-dirty-objects>

Password

Range of values: N/A

Default value: N/A

Parent elements:

jmx
wls81-jmx

Function

Password that Kodo should use to access the WebLogic MBeanServer. This must be set. For more information, see "Optional Parameters in WebLogic 8.1 Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<Password>admin</Password>

persistence-configuration

Range of values: N/A

Default value: N/A

Parent elements: N/A

Function

Root element of the persistence deployment descriptor.

persistence-configuration-unit

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration

Function

Contains the deployment information for a persistence unit that is available in WebLogic Server.

pessimistic-lock-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the kodo.jdbc.kernel.PessimisticLockManager, which uses SELECT FOR UPDATE statements (or the database's equivalent) to lock the database rows corresponding to locked objects. This lock manager does not distinguish between read locks and write locks; all locks are write locks. For more information, see "Lock Manager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

persistence-mapping-defaults

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures the mapping defaults if you set default-mapping-defaults to jpa. For a complete description of each of the values that you can specify, see "Mapping Defaults" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

populate-data-cache

Range of values: true | false

Default value: true

Parent elements:

persistence-configuration
persistence-configuration-unit
kodo-broker

Function

Flag that specifies whether to populate the data cache. If your transaction will visit objects that you know are very unlikely to be accessed by other transactions, for example an exhaustive report run only once a month, you can turn off population of the datacache so that the transaction does not fill the entire data cache with objects that will not be accessed again.

Example

<populate-data-cache>true</populate-data-cache>

Port

Range of values: N/A

Default value: N/A

Parent elements:

jmx
mx4j1-jmx

Function

Port on which the RMI registry naming service listens. Defaults to 1099. For more information, see "Optional Parameters in Remote Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

quoted-numbers-in-queries

Function

Flag that specifies whether to interpret quoted numbers in query strings as numbers, as opposed to strings. Set to true to mimic the behavior of Kodo 3.1 and earlier and treat quoted numbers as numbers. For more information, see "Compatibility Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

recovery-time-millis

Function

Specifies the amount of time to wait in milliseconds before attempting to reconnect to a peer of the cluster when connectivity to the peer is lost. For more information, see "TCP" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<recovery-time-millis>15000</recovery-time-millis>

resources

Function

Specifies a semicolon-separated list of resource paths to metadata files or jar archives. Each jar archive will be scanned for annotated JPA entities or JDO metadata files based on your metadata factory. For more information, see "Metadata Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Flag that specifies whether persistent fields retain their values on transaction commit. This element defaults to true when a child element of the persistence-configuration-unit and false when a child element of the kodo-broker element.

For more information, see "kodo.RetainState" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<retain-state>true</retain-state>

retry-class-registration

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Flag that specifies whether to log a warning and defer registration instead of throwing an exception when a persistent class cannot be fully processed. This element should only be used in complex classloader situations where security is preventing Kodo from reading registered classes. Setting this to true unnecessarily may obscure more serious problems. For more information, see "kodo.RetryClassRegistration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Flag that specifies whether to search for metadata files top-down in the package tree. Kodo defaults to bottom-up scanning. For example, when scanning metadata for class C, Kodo looks first for C.jdo, then package.jdo in C's package, then package.jdo in the parent package, and so on to the package root. For more information, see "Metadata Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<scan-top-down>false</scan-top-down>

schema

Range of values: String

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the default schema name to prepend to unqualified table names. In addition, specifies the schema in which Kodo creates new tables. For more information, see "Default Schema" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<schema>SCHEMA</schema>

schema-column

Function

Specifies the name of the table's string column for holding the schema definition as an XML string. For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<schema-column>SCHEMA_DEF</schema-column>

schemas

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a comma-separated list of the schemas and/or tables used for your persistent data. For more information, see "Schemas List" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

sequence-name

Function

Specifies the name of the database sequence. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<sequence-name>OPENJPA_SEQUENCE</sequence-name>

ServiceURL

Range of values: Valid service URL

Default value: service:jmx:rmi://localhost/jndi/jmxservice

Parent elements:

jmx
jmx2-jmx

Function

JMX service URL name under which to register the JMX Connector Server. This value defaults to service:jmx:rmi://localhost/jndi/jmxservice, indicating that the RMI connector will be used and registered under the JNDI name jmxsevice. For more information, see "Optional Parameters in JSR 160 Group" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<ServiceURL>service:jmx:rmi://localhost/jndi/jmxservice</ServiceURL>

simple-driver-data-source

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures the Kodo datasource implementation. For more information, see "Using the Kodo DataSource" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Example

<single-file>false</single-file>

single-jvm-exclusive-lock-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the kodo.kernel.SingleJVMExclusiveLockManager. This lock manager uses in-memory mutexes to obtain exclusive locks on object ids. It does not perform any database-level locking. Also, it does not distinguish between read and write locks; all locks are write locks. For more information, see "Lock Manager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

single-jvm-remote-commit-provider

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Configures Kodo to share commit notifications among persistenceManagerFactories in the same JVM. For more information, see "Remote Commit Provider Configuration" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Sets the number of soft references that Kodo maintains. When the maximum cache or query size is reached, random entries are moved to a soft reference map so that they are maintained for awhile longer. By default, this value is set to -1 which specifies that an unlimited number of soft references are maintained. Set the property to 0 to disable soft references. For more information, see "Configuring the Data Cache Size" and "Query Cache" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

stack-execution-context-name-provider

Range of values: N/A

Default value: N/A

Parent elements:

execution-context-name-provider

Function

Provider examines the current thread's stack and builds an execution context name based on that information. For more information, see "Configuring the Execution Context Name Provider" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

strict-identity-values

Function

Flag that specifies whether to require identity values used for finding application identity instances to be of the exact right type. By default, Kodo allows stringified identity values, and performs conversions between numeric types. For more information, see "Compatibility Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<strict-identity-values>false</strict-identity-values>

style

Range of values: line | partial | full

Default value: N/A

Parent elements:

execution-context-name-provider
stack-execution-context-name-provider

Function

Provider examines the current thread's stack and builds an execution context name based on that information and the following setting:

line—Name will be the first non-Kodo stack line, including class name, method name, and line number, if available.

Example

subclass-fetch-mode

Range of values: join | multiple | none | parallel | single

Default value: join

Parent elements:

execution-context-name-provider
stack-execution-context-name-provider

Function

Specifies the method to use to select subclass data when it is in other tables. For a description of the valid values, see under eager-fetch-mode. For complete details, see "Eager Fetching" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

synchronize-mappings

Range of values: true | false

Default value: false

Parent elements:

persistence-configuration

Function

Controls whether Kodo attempts to run the mapping tool on all persistent classes to synchronize their mappings and schema at runtime. This element save you the trouble of running the mapping tool manually, and is useful for rapid test and debug cycles. For more information, see "Runtime Forward Mapping" in Kodo Developer's Guide.

table-jdbc-seq

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Seq interface to use to create your own custom generators, in this case kodo.jdbc.kernel.TableJDBCSeq.

The TableJDBCSeq uses a special single-row table to store a global sequence number. If the table does not already exist, it is created the first time you run the mapping tool's on a class that requires it. You can also use the class' main method or the sequencetable shell/bat script to manipulate the table; see the TableJDBCSeq.main method Javadoc for usage details. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

table-lock-update-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Defines an update manager capable of statement batching, that ignores foreign keys and autoincrement, but optimizes for table level locking. This is useful when using table-level locking and trying to avoid deadlocks. For more information, see "kodo.jdbc.UpdateManager" and "Statement Batching" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<table-name>JDO_MAPPING</table-name>

table-schema-factory

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema, in this case kodo.jdbc.schema.TableSchemaFactory.

This schema factory stores schema information as an XML document in a database table it creates for this purpose. If your JDBC driver doesn't support the java.sql.DatabaseMetaData standard interface, but you still want some schema validation to occur at runtime, you might use this factory. It is not recommended for most users, though, because it is easy for the stored XML schema definition to get out-of-sync with the actual database.

For more information, see "Schema Factory" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

time-seeded-seq

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Seq interface to use to create your own custom generators, in this case kodo.jdbc.kernel.TimeSeededSeq.

This type uses an in-memory static counter, initialized to the current time in milliseconds and monotonically incremented for each value requested. It is only suitable for single-JVM environments. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

topic

Function

Specifies the topic to which the remote commit provider should publish notifications and subscribe for notifications sent from other JVMs. For more information, see "JMS" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<topic>topic/KodoCommitProviderTopic</topic>

topic-connection-factory

Function

Specifies the JNDI name of a javax.jms.TopicConnectionFactory factory to use for finding topics. This setting may vary depending on the application server in use; consult the application server's documentation for details about the default JNDI name for the topic instance. For WebLogic, the JNDI name for the TopicConnectionFactory is javax.jms.TopicConnectionFactory. For more information, see "JMS" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<transaction-mode>local</transaction-mode>

transaction-name-execution-context-name-provider

Range of values: N/A

Default value: N/A

Parent elements:

execution-context-name-provider

Function

Provider returns the current transaction's name, as defined by WebLogic transaction naming semantics. For more information, see "Configuring the Execution Context Name Provider" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Specifies a semicolon-separated list of URLs of metadata files or jar archives. Each jar archive will be scanned for annotated JPA entities or JDO metadata files based on your metadata factory. For more information, see "Metadata Factory" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<urls>t3://localhost:7001/metadata.jar</urls>

use-aliases

Function

Flag that specifies whether to use each class' entity name as the primary key value of each row rather than the full classname. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Function

Example

<use-schema-validation>true</use-schema-validation>

user-object-execution-context-name-provider

Range of values: N/A

Default value: N/A

Parent elements:

execution-context-name-provider

Function

Provider returns the user object specified in the current EntityManager/PersistenceManager whose key is com.solarmetric.profile.ExecutionContextNameProvider. User objects can be set using the OpenJPAEntityManager.putUserObject(Object,Object) or PersistenceManager.putUserObject(Object,Object). For more information, see "Configuring the Execution Context Name Provider" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<user-object-execution-context-name-provider/>

UserName

Range of values: N/A

Default value: N/A

Parent elements:

jmx
wsl81-jmx

Function

Specifies the username that Kodo should use to access the WebLogic MBeanServer. This must be set. For more information, see "Optional Parameters in WebLogic 8.1 Group" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

validate-false-returns-hollow

Function

Flag that specifies whether to return hollow objects (objects for which no state has been loaded) from calls to PersistenceManager.getObjectById(oid, false). This is the default behavior of Kodo 4.0 and above. Previous Kodo versions, however, always loaded the object from the datastore. Set this property to false to get the old behavior.

validate-true-checks-store

Function

Flag that specifies whether to check the datastore to be sure the given oid exists. Prior to Kodo 4.0, calling PersistenceManager.getObjectById(oid, true) always checked the datastore to be sure the given oid existed, even when the corresponding object was already cached. Kodo 4.0 and above does not check the datastore when the instance is already cached and loaded. Set this property to true to mimic previous behavior.

Example

value-table-jdbc-seq

Function

Specifies a plugin string (see "Plugin Configuration" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO) describing the kodo.kernel.Seq interface to use to create your own custom generators, in this case kodo.jdbc.kernel.ValueTableJDBCSeq.

This Seq is like the table-jdbc-seq, but has an arbitrary number of rows for sequence values, rather than a fixed pattern of one row per class. For more information, see "Generators" in the Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

version-check-on-read-lock

Function

Specifies whether to perform version checking and incrementing behavior of the pessimistic lock manager on read operations. For more information, see "Lock Manager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<version-check-on-read-lock>false</version-check-on-read-lock>

version-check-on-write-lock

Function

Specifies whether to perform version checking and incrementing behavior of the pessimistic lock manager on write operations. For more information, see "Lock Manager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.

Example

<version-check-on-write-lock>false</version-check-on-write-lock>

version-lock-manager

Range of values: N/A

Default value: N/A

Parent elements:

persistence-configuration
persistence-configuration-unit

Function

Specifies the kodo.kernel.VersionLockManager. This lock manager does not perform any exclusive locking, but instead ensures read consistency by verifying that the version of all read-locked instances is unchanged at the end of the transaction. Furthermore, a write lock will force an increment to the version at the end of the transaction, even if the object is not otherwise modified. This ensures read consistency with non-blocking behavior. For more information, see "Lock Manager" in Oracle Fusion Middleware Oracle Kodo Developer's Guide for JPA/JDO.