OpenJPA defines many configuration properties. Most of these properties are provided for advanced users who wish to customize OpenJPA's behavior; the majority of developers can omit them. The following properties apply to any OpenJPA back-end, though the given descriptions are tailored to OpenJPA's default JDBC store.
A few of the properties recognized by OpenJPA have been standardized in JPA 2.0 specification using equivalent names. These properties can be specified either by the JPA standard key or equivalent OpenJPA key. Specifying the same key once as JPA standard key and again as equivalent OpenJPA key in the same configuration, however, is not allowed. The following table lists these standard JPA properties and their OpenJPA equivalent.
Table 2.1. Standard JPA Properties and OpenJPA equivalents
| Standard JPA 2.0 | OpenJPA Equivalent | 
|---|---|
| jakarta.persistence.jdbc.driver | openjpa.ConnectionDriverName | 
| jakarta.persistence.jdbc.url | openjpa.ConnectionURL | 
| jakarta.persistence.jdbc.user | openjpa.ConnectionUserName | 
| jakarta.persistence.jdbc.password | openjpa.ConnectionPassword | 
Property name: openjpa.AutoClear
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getAutoClear
            
Resource adaptor config-property: 
AutoClear
            
Default: datastore
            
Possible values: datastore,
all
            
Description: When to automatically clear instance state: on entering a datastore transaction, or on entering any transaction.
Property name: openjpa.AutoDetach
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getAutoDetach
            
Resource adaptor config-property: 
AutoDetach
            
Default: - null
Possible values: close,
commit, nontx-read, rollback, none
            
Description: A comma-separated list of events
when managed instances will be automatically detached. When using the OpenJPA EntityManager this defaults to
close, and rollback per the JPA spec. If you need to change this setting, you
need to set it directly on an instantiated EntityManager.
            
none option is exclusive. It can not be specified with any other option.
none option implies that managed objects will not be detached from the persistence context,
the second-class object fields such as collections or date will not be proxied unlike normal
circumstances. This option is relevant for specific use cases where the user application would not refer to the
managed objects after the transaction and/or the context ends e.g. typical batch insertion scenario.
            
Property name: openjpa.BrokerFactory
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getBrokerFactory
            
Resource adaptor config-property: 
BrokerFactory
            
Default: jdbc
            
Possible values: jdbc,
abstractstore, remote
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.kernel.BrokerFactory type to
use.
            
Property name: openjpa.BrokerImpl
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getBrokerImpl
            
Resource adaptor config-property: 
BrokerImpl
            
Default: default
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.kernel.Broker type to use at runtime. See
Section 1.2, “
                Broker Customization and Eviction
            ” on for details.
            
     Property name: openjpa.Callbacks
  
     Configuration API:
     
     org.apache.openjpa.conf.OpenJPAConfiguration.getCallbackOptionsInstance
  
     Resource adaptor config-property: Callbacks
  
     Default: default
  
Description: A plugin string (see Section 4, “ Plugin Configuration ”) to fine tune some of the configurable properties related to callbacks. The plug-in supports two boolean properties:
PostPersistCallbackImmediate: whether the
   		post-persist callback is invoked as soon as a new instance
        is managed. The default is false, implies that
        the post-persist callback is invoked after the instance been committed
        or flushed to the datastore.
        
AllowsMultipleMethodsForSameCallback: whether
   	    multiple methods of the same class can handle the same callback event.
   	    Defaults to false.
   	    
Property name: openjpa.ClassResolver
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getClassResolver
            
Resource adaptor config-property: 
ClassResolver
            
Default: default
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.util.ClassResolver implementation to use
for class name resolution. You may wish to plug in your own resolver if you have
special classloading needs.
            
Property name: openjpa.Compatibility
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getCompatibility
            
Resource adaptor config-property: 
Compatibility
            
Default: -
Description: Encapsulates options to mimic the behavior of previous OpenJPA releases.
Property name: 
openjpa.ConnectionDriverName
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionDriverName
            
Resource adaptor config-property: 
ConnectionDriverName
            
Default: -
Description: The full class name of either the
JDBC java.sql.Driver, or a 
javax.sql.DataSource implementation to use to connect to the
database. See Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.Connection2DriverName
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnection2DriverName
            
Resource adaptor config-property: 
Connection2DriverName
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionDriverName property described in
Section 5.8, “
                openjpa.ConnectionDriverName
            ”, but applies to the
alternate connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: 
openjpa.ConnectionFactory
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactory
            
Resource adaptor config-property: 
ConnectionFactory
            
Default: -
Description: A javax.sql.DataSource
 to use to connect to the database. See
Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.ConnectionFactory2
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactory2
            
Resource adaptor config-property: 
ConnectionFactory2
            
Default: -
Description: An unmanaged 
javax.sql.DataSource to use to connect to the database. See
Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.ConnectionFactoryName
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactoryName
            
Resource adaptor config-property: 
ConnectionFactoryName
            
Default: -
Description: The JNDI location of a 
javax.sql.DataSource to use to connect to the database. See
Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.ConnectionFactory2Name
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactory2Name
            
Resource adaptor config-property: 
ConnectionFactory2Name
            
Default: -
Description: The JNDI location of an unmanaged
javax.sql.DataSource to use to connect to the database.
See Section 3, “
            XA Transactions
        ” for details.
            
Property name: 
openjpa.ConnectionFactoryMode
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactoryMode
            
Resource adaptor config-property: 
ConnectionFactoryMode
            
Default: local
            
Possible values: local,
managed
            
Description: The connection factory mode to use when integrating with the application server's managed transactions. See Section 2.1, “ Managed and XA DataSources ” for details.
Property name: 
openjpa.ConnectionFactoryProperties
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactoryProperties
            
Resource adaptor config-property: 
ConnectionFactoryProperties
            
Default: -
Description: A plugin string (see Section 4, “ Plugin Configuration ”) listing properties for configuration of the datasource in use. See the Chapter 4, JDBC for details.
Property name: 
openjpa.ConnectionFactory2Properties
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionFactory2Properties
            
Resource adaptor config-property: 
ConnectionFactory2Properties
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionFactoryProperties property described in
Section 5.15, “
                openjpa.ConnectionFactoryProperties
            ”, but applies to the
alternate connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: 
openjpa.ConnectionPassword
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionPassword
            
Resource adaptor config-property: 
ConnectionPassword
            
Default: -
Description: The password for the user
specified in the ConnectionUserName property. See
Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.Connection2Password
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnection2Password
            
Resource adaptor config-property: 
Connection2Password
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionPassword property described in
Section 5.17, “
                openjpa.ConnectionPassword
            ”, but applies to the
alternate connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: 
openjpa.ConnectionProperties
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionProperties
            
Resource adaptor config-property: 
ConnectionProperties
            
Default: -
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) listing properties to configure
the driver listed in the ConnectionDriverName property
described below. See Chapter 4, 
        JDBC
     for details.
            
Property name: 
openjpa.Connection2Properties
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnection2Properties
            
Resource adaptor config-property: 
Connection2Properties
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionProperties property described in
Section 5.19, “
                openjpa.ConnectionProperties
            ”, but applies to the
alternate connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: openjpa.ConnectionURL
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionURL
            
Resource adaptor config-property: 
ConnectionURL
            
Default: -
Description: The JDBC URL for the database. See Chapter 4, JDBC for details.
Property name: openjpa.Connection2URL
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnection2URL
            
Resource adaptor config-property: 
Connection2URL
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionURL property described in
Section 5.21, “
                openjpa.ConnectionURL
            ”, but applies to the alternate
connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: 
openjpa.ConnectionUserName
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionUserName
            
Resource adaptor config-property: 
ConnectionUserName
            
Default: -
Description: The user name to use when connecting to the database. See the Chapter 4, JDBC for details.
Property name: 
openjpa.Connection2UserName
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnection2UserName
            
Resource adaptor config-property: 
Connection2UserName
            
Default: -
Description: This property is equivalent to the
openjpa.ConnectionUserName property described in
Section 5.23, “
                openjpa.ConnectionUserName
            ”, but applies to the
alternate connection factory used for unmanaged connections. See
Section 2.1, “
                Managed and XA DataSources
            ” for details.
            
Property name: 
openjpa.ConnectionRetainMode
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getConnectionRetainMode
            
Resource adaptor config-property: 
ConnectionRetainMode
            
Default: on-demand
            
Description: Controls how OpenJPA uses datastore connections. This property can also be specified for individual sessions. See Section 8, “ Configuring the Use of JDBC Connections ” for details.
Property name: openjpa.DataCache
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getDataCache
            
Resource adaptor config-property: 
DataCache
            
Default: false
            
Description: A plugin list string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.datacache.DataCaches to use for data
caching. See Section 1.1, “
                Data Cache Configuration
            ” for details.
            
Property name: 
openjpa.DataCacheManager
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getDataCacheManager
            
Resource adaptor config-property: 
DataCacheManager
            
Default: default
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
openjpa.datacache.DataCacheManager that manages
the system data caches. See Section 1, “
            Data Cache
        ” for details
on data caching.
            
Property name: 
openjpa.DataCacheMode
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getDataCacheMode
            
Resource adaptor config-property: 
DataCacheMode
            
Default: DataCacheMode.UNSPECIFIED (see javadoc for details)
            
Description:Determines which entities will be included in the DataCache. May be any of the values defined in ../../apidocs/org/apache/openjpa/datacache/DataCacheMode.html.
Property name: 
openjpa.DataCacheTimeout
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getDataCacheTimeout
            
Resource adaptor config-property: 
DataCacheTimeout
            
Default: -1
            
Description: The number of milliseconds that data in the data cache is valid. Set this to -1 to indicate that data should not expire from the cache. This property can also be specified for individual classes. See Section 1.1, “ Data Cache Configuration ” for details.
Property name: openjpa.DetachState
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfigurationImpl.getDetachState
            
Resource adaptor config-property: 
DetachState
            
Default: loaded
            
Possible values: loaded,
fetch-groups, all
            
Description: Determines which fields are part of the detached graph and related options. For more details, see Section 1.3, “ Defining the Detached Object Graph ”.
Property name: 
openjpa.DynamicDataStructs
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getDynamicDataStructs
            
Resource adaptor config-property: 
DynamicDataStructs
            
Default: false
            
Description: Whether to dynamically generate
customized structs to hold persistent data. Both the OpenJPA data cache and the
remote framework rely on data structs to cache and transfer persistent state.
With dynamic structs, OpenJPA 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 price 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.
            
                Property name: 
                openjpa.DynamicEnhancementAgent
            
Configuration API: org.apache.openjpa.conf.OpenJPAConfiguration.getDynamicEnhancementAgent
Resource adaptor config property: DynamicEnhancementAgent
                Default: 
                true
            
Description: The DynamicEnhancementAgent property controls whether or not OpenJPA will attempt to dynamically load the PCEnhancer javaagent.
See the reference guide for more information Section 2.4, “ Enhancing Dynamically at Runtime ”
Property name: openjpa.FetchBatchSize
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getFetchBatchSize
            
Resource adaptor config-property: 
FetchBatchSize
            
Default: -1
            
Description: The number of rows to fetch at once when scrolling through a result set. The fetch size can also be set at runtime. See Section 10, “ Large Result Sets ” for details.
		Property name: openjpa.EncryptionProvider
            
		Configuration API:
		
			org.apache.openjpa.conf.OpenJPAConfiguration.getEncryptionProvider
		
            
		Resource adaptor config-property: 
		EncryptionProvider
            
		Default: false
            
Description: A plugin list string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.lib.encryption.EncryptionProviders to use for connection password
encryption. See Chapter 11, 
        Encryption Provider
     for details.
            
Property name: openjpa.FetchGroups
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getFetchGroups
            
Resource adaptor config-property: 
FetchGroups
            
Default: -
Description: A comma-separated list of fetch group names that are to be loaded when retrieving objects from the datastore. Fetch groups can also be set at runtime. See Section 7, “ Fetch Groups ” for details.
Property name: 
openjpa.FlushBeforeQueries
            
Property name: 
openjpa.FlushBeforeQueries
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getFlushBeforeQueries
            
Resource adaptor config-property: 
FlushBeforeQueries
            
Default: true
            
Description: Whether or not to flush any changes made in the current transaction to the datastore before executing a query. See Section 8, “ Configuring the Use of JDBC Connections ” for details.
Property name: openjpa.IgnoreChanges
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getIgnoreChanges
            
Resource adaptor config-property: 
IgnoreChanges
            
Default: false
            
Description: Whether to consider modifications
to persistent objects made in the current transaction when evaluating queries.
Setting this to true allows OpenJPA to ignore changes and
execute the query directly against the datastore. A value of false
 forces OpenJPA to consider whether the changes in the current
transaction affect the query, and if so to either evaluate the query in-memory
or flush before running it against the datastore.
            
            Property name:
            openjpa.Id
            
            Resource adaptor config-property:
            Id
            
Default: none
Description: An environment-specific identifier for this configuration. This might correspond to a JPA persistence-unit name, or to some other more-unique value available in the current environment.
Property name: openjpa.InitializeEagerly
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.isInitializeEagerly
            
Resource adaptor config-property: 
InitializeEagerly
            
Default: false
            
Possible values: false,
true
            
Description: Controls whether initialization is eager or lazy. Eager initialization imply all persistent classes, their mapping information, database connectivity and all other resources specified in the configuration of a persistence unit will be initialized when a persistent unit is constructed. The default behavior is lazy i.e. persistent classes, database and other resources are initialized only when the application refers to a resource for the first time.
Property name: 
openjpa.Instrumentation
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getInstrumentation
            
Resource adaptor config-property: 
Instrumentation
            
Default: -
            
Possible values: jmx,
custom plugin string
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing one or more instances of
org.apache.openjpa.lib.instrumentation.InstrumentationProvider and
specific instruments to enable. See Chapter 16, 
        Instrumentation
     for details.
            
Property name: openjpa.InverseManager
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getInverseManager
            
Resource adaptor config-property: 
InverseManager
            
Default: false
            
Possible values: false,
true
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.kernel.InverseManager to use
for managing bidirectional relations upon a flush. See
Section 5, “
            Managed Inverses
        ” for usage documentation.
            
Property name: openjpa.LockManager
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getLockManager
            
Resource adaptor config-property: 
LockManager
            
Default: mixed
            
Possible values: none, version,
pessimistic, mixed
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.kernel.LockManager to use for acquiring
locks on persistent instances during transactions.  See
Section 3.4, “
                Lock Manager
            ” for more information.
            
Property name: openjpa.LockTimeout
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getLockTimeout
            
Resource adaptor config-property: 
LockTimeout
            
Default: -1
            
Description: The number of milliseconds to wait for an object lock before throwing an exception, or -1 for no limit. See Section 3, “ Object Locking ” for details.
Property name: openjpa.Log
            
Configuration API:
org.apache.openjpa.lib.conf.Configuration.getLog
            
Resource adaptor config-property: Log
            
Default: true
            
Possible values: openjpa,
commons, log4j, slf4j,
none
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.lib.log.LogFactory to use for logging.
For details on logging, see Chapter 3, 
        Logging and Auditing
    .
            
Property name: openjpa.ManagedRuntime
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getManagedRuntime
            
Resource adaptor config-property: 
ManagedRuntime
            
Default: auto
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.ee.ManagedRuntime implementation to use
for obtaining a reference to the TransactionManager in an
enterprise environment.
            
Property name: openjpa.Mapping
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getMapping
            
Resource adaptor config-property: 
Mapping
            
Default: -
Description: The symbolic name of the object-to-datastore mapping to use.
Property name: openjpa.MaxFetchDepth
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getMaxFetchDepth
            
Resource adaptor config-property: 
MaxFetchDepth
            
Default: -1
            
Description: The maximum depth of relations to traverse when eager fetching. Use -1 for no limit. Defaults to no limit. See Section 8, “ Eager Fetching ” for details on eager fetching.
Property name: openjpa.MetaDataFactory
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getMetaDataFactory
            
Resource adaptor config-property: 
MetaDataFactory
            
Default: jpa
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
openjpa.meta.MetaDataFactory to use to store and
retrieve metadata for your persistent classes. See
Section 1, “
            Metadata Factory
        ” for details.
            
Property name: openjpa.MetaDataRepository
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getMetaDataRepository
            
Resource adaptor config-property: 
MetaDataRepository
            
		Default:none
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
openjpa.meta.MetaDataRepository to use to store and
retrieve metadata for your persistent classes. See
Section 2, “Metadata Repository” for details.
            
Property name: openjpa.Multithreaded
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getMultithreaded
            
Resource adaptor config-property: 
Multithreaded
            
Default: false
            
Description: Whether persistent instances and
OpenJPA components other than the EntityManagerFactory
will be accessed by multiple threads at once.
            
Property name: openjpa.Optimistic
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getOptimistic
            
Resource adaptor config-property: 
Optimistic
            
Default: true
            
Description: Selects between optimistic and pessimistic (datastore) transactional modes.
Property name: openjpa.OptimizeIdCopy
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getOptimizeIdCopy
            
Resource adaptor config-property: 
OptimizeIdCopy
            
Default: false
            
Description: Attempt to optimize id class copy operations used internally by the provider during various ORM operations. This optimization is only applicable for entities using simple id classes (via @IdClass or XML equivalent) that do not have public setters, provide a public constructor with exact matching parameter types, and perform direct assignments to id class fields within the constructor. If these conditions are met, OpenJPA will use a public constructor during internal id copy operations instead of less optimal reflection. Optimization of id copy occurs during the enhancement phase. If the enhancer determines optimization cannot occur, it will fallback to the normal behavior. A side effect of enabling this property is that an id class constructor will be called by the provider during runtime operations. If there is logic in the constructor in addition to field initialization, (parameter verification, for example) that logic will also be executed during the operation, which could result in a change in runtime behavior.
Property name: 
openjpa.OrphanedKeyAction
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getOrphanedKeyAction
            
Resource adaptor config-property: 
OrphanedKeyAction
            
Default: log
            
Possible values: log,
exception, none
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.event.OrphanedKeyAction to
invoke when OpenJPA discovers an orphaned datastore key. See
Section 11, “
            Orphaned Keys
        ” for details.
            
Property name: 
openjpa.NontransactionalRead
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getNontransactionalRead
            
Resource adaptor config-property: 
NontransactionalRead
            
Default: true
            
Description: Whether the OpenJPA runtime will allow you to read data outside of a transaction.
Property name: 
openjpa.NontransactionalWrite
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getNontransactionalWrite
            
Resource adaptor config-property: 
NontransactionalWrite
            
Default: true
            
Description: Whether you can modify persistent objects and perform persistence operations outside of a transaction. Changes will take effect on the next transaction.
Property name: openjpa.ProxyManager
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getProxyManager
            
Resource adaptor config-property: 
ProxyManager
            
Default: default
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.util.ProxyManager to use for proxying
mutable second class objects. See
Section 6.4.3, “
                    Custom Proxies
                ” for details.
            
                Property name: 
                openjpa.PostLoadOnMerge
            
                Configuration API:
                
                    
                        org.apache.openjpa.conf.OpenJPAConfiguration.getPostLoadOnMerge
                    
            
                Resource adaptor config-property: 
                PostLoadOnMerge
            
                Default: false
            
Description: Whether the OpenJPA runtime will trigger a PostLoad lifecycle event for EntityManager#merge(). If you enable this option, OpenJPA will also ensure that the whole entity from the database will get passed to the PostLoad entity listener.
Property name: openjpa.QueryCache
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getQueryCache
            
Resource adaptor config-property: 
QueryCache
            
Default: false
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.datacache.QueryCache
implementation to use for caching of queries loaded from the data store. See
Section 1.4, “
                Query Cache
            ” for details.
            
Property name:
openjpa.QueryCompilationCache
			
Resource adaptor config-property:
QueryCompilationCache
			
Default: true.
			
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
java.util.Map to use for caching of data used during
query compilation.  See Section 2, “
            Query Compilation Cache
        ” for details.
			
Property name: openjpa.ReadLockLevel
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getReadLockLevel
            
Resource adaptor config-property: 
ReadLockLevel
            
Default: read
            
Possible values: none,
read, write,
optimistic, optimistic-force-increment,
pessimistic-read, pessimistic-write,
pessimistic-force-increment, numeric values for
lock-manager specific lock levels
            
Description: The default level at which to lock
objects retrieved during a non-optimistic transaction. Note that for the default
JDBC lock manager,  read and write lock
levels are equivalent. Lock levels pessimistic-read,
pessimistic-write and
pessimistic-force-increment are in effect only when the
mixed lock manager is used.
            
Property name: 
openjpa.RemoteCommitProvider
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getRemoteCommitProvider
            
Resource adaptor config-property: 
RemoteCommitProvider
            
Default: - If openjpa.DataCache is enabled, the default value is sjvm.
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.event.RemoteCommitProvider
implementation to use for distributed event notification. See
Section 2.1, “
                Remote Commit Provider Configuration
            ” for more information.
            
Property name: openjpa.RestoreState
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getRestoreState
            
Resource adaptor config-property: 
RestoreState
            
Default: none
            
Possible values: none,
immutable, all
            
Description: Whether to restore managed fields to their pre-transaction values when a rollback occurs.
Property name: openjpa.RetainState
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getRetainState
            
Resource adaptor config-property: 
RetainState
            
Default: true
            
Description: Whether persistent fields retain their values on transaction commit.
Property name: 
openjpa.RetryClassRegistration
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getRetryClassRegistration
            
Resource adaptor config-property: 
RetryClassRegistration
            
Default: false
            
Description: Controls whether to log a warning and defer registration instead of throwing an exception when a persistent class cannot be fully processed. This property should only be used in complex classloader situations where security is preventing OpenJPA from reading registered classes. Setting this to true unnecessarily may obscure more serious problems.
                Property name: 
                openjpa.RuntimeUnenhancedClasses
            
Configuration API: org.apache.openjpa.conf.OpenJPAConfiguration.getRuntimeUnenhancedClasses
Resource adaptor config property: RuntimeUnenhancedClasses
                Default: 
                unsupported
            
                Possible values:
                supported,
                unsupported,
                warn
            
                Description:
                The RuntimeUnenhancedClasses property controls how OpenJPA
                handles classes that have not been enhanced by the PCEnhancer
                tool or automatically by a javaagent. If RuntimeUnenhancedClasses is
                set to supported OpenJPA will automatically
                create subclasses for unenhanced entity classes. If set to
                unsupported OpenJPA will not create subclasses
                for unenhanced entity classes and will throw an exception when
                they are detected. If set to warn OpenJPA
                will not create subclasses for unenhanced entity classes
                but will log a warning message.
            
This function is often useful for rapid prototyping but is not generally recommended for use in production. Please consult the reference guide before changing the default value.
See the reference guide section on unenhanced types for more information Section 2.5, “ Omitting the OpenJPA enhancer ”
Property name: 
openjpa.SavepointManager
            
Configuration API: org.apache.openjpa.conf.OpenJPAConfiguration.getSavepointManager
Resource adaptor config-property: SavepointManager
Default: in-mem
            
Possible values: in-mem,
jdbc
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing a
org.apache.openjpa.kernel.SavepointManager to
use for managing transaction savepoints. See
Section 4, “
            Savepoints
        ” for details.
            
Property name: openjpa.Sequence
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getSequence
            
Resource adaptor config-property: 
Sequence
            
Default: table
            
Description: A plugin string (see
Section 4, “
            Plugin Configuration
        ”) describing the
org.apache.openjpa.kernel.Seq implementation to use for the
system sequence. See Section 6, “
            Generators
        ” for more
information.
            
Property name: openjpa.Specification
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getSpecificationInstance
            
Resource adaptor config-property: 
Specification
            
Default: table
            
Description: A formatted string describing the Specification
to use for the default configuration options. The format of the Specifcation string is
name [major.[minor]] where name denotes the name of the
Specification such as JPA or JDO, major
denotes the major integral version number of the Specification and minor
denotes a minor version which can be an arbitrary string.
See Section 6.20, “Compatibility with Specification” for more information.
            
Property name: openjpa.TransactionMode
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getTransactionMode
            
Resource adaptor config-property: 
TransactionMode
            
Default: local
            
Possible values: local,
managed
            
Description: The default transaction mode to use. You can override this setting per-session.
                Property name: openjpa.UseTCCLinSelectNew
            
                Configuration API:
                
                org.apache.openjpa.conf.OpenJPAConfiguration.getUseTCCLinSelectNew
                
            
                Resource adaptor config-property: UseTCCLinSelectNew
            
                Default: false
            
                Since: OpenJPA-2.4.2
            
                Possible values: true,
                false
            
                Description: Whether to try to use the ThreadContextClassLoader
                as fallback if the given class in a SELECT NEW statement could not be found
                with the default ClassLoader. This is mostly useful in EAR and OSGi environments.
                By default the ClassLoader of the entity is used.
            
Property name: openjpa.WriteLockLevel
            
Configuration API:
org.apache.openjpa.conf.OpenJPAConfiguration.getWriteLockLevel
            
Resource adaptor config-property: 
WriteLockLevel
            
Default: write
            
Possible values: none,
read, write,
optimistic, optimistic-force-increment,
pessimistic-read, pessimistic-write,
pessimistic-force-increment, numeric values for
lock-manager specific lock levels.
            
Description: The default level at which to lock
objects changed during a non-optimistic transaction. Note that for the default
JDBC lock manager,  read and write lock
levels are equivalent. Lock levels pessimistic-read,
pessimistic-write and
pessimistic-force-increment are in effect only when the
mixed lock manager is used.