Class PersistenceUnitProperties
Persistence.createEntityManagerFactory(String, Map)
which override
the values specified in the persistence.xml file.
Usage Example:
Map<String, Object> props = new HashMap<String, Object>();
props.put(PersistenceUnitProperties.JDBC_USER, "user-name");
props.put(PersistenceUnitProperties.JDBC_PASSWORD, "password");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu-name", props);
Property values are usually case-insensitive with some common sense exceptions, for instance class names.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The "eclipselink.jdbc.allow-native-sql-queries
" property specifies whether any user defined SQL is allowed within a persistence unit.static final String
Deprecated.static final String
The property "eclipselink.application-location
" specifies the file system directory location where DDL files are written (output) to.static final String
The "eclipselink.jdbc.batch-writing
" property configures the use of batch writing to optimize transactions with multiple writes.static final String
The "eclipselink.jdbc.batch-writing.size
" property configures the batch size used for batch writing.static final String
Property for disabling Bean Validation optimisations.static final String
The "eclipselink.cache.extended.logging
" property control (enable/disable) usage logging of JPA L2 cache.static final String
The "eclipselink.cache.query-force-deferred-locks
" property force all queries and relationships to use deferred lock strategy during object building and L2 cache population.static final String
Property prefix "eclipselink.cache.shared.
" indicates whether entity's cache should be shared (non-isolated) for a specific entity type.static final String
Default caching properties - apply to all entities.static final String
Property prefix "eclipselink.cache.size.
" is used to specify the cache size for a specific entity type.static final String
Default caching properties - apply to all entities.static final String
The "eclipselink.jdbc.cache-statements
" property specifies whether JDBC statements should be cached.static final String
The "eclipselink.jdbc.cache-statements.size
" property specifies the number of statements held when using internal statement caching.static final String
Property prefix "eclipselink.cache.type.
" sets the type of cache for a specific entity type.static final String
Default caching properties - apply to all entities.static final String
The "eclipselink.canonicalmodel.generate_comments
" optional property can be used to disable usage of comments in declaration ofGenerated
annotation.static final String
Default value for the "eclipselink.canonicalmodel.generate_comments
" optional property.static final String
The "eclipselink.canonicalmodel.use_generated
" optional property can be used to disable generation ofGenerated
annotation.static final String
Default value for the "eclipselink.canonicalmodel.use_generated
" optional property.static final String
The "eclipselink.canonicalmodel.generate_timestamp
" optional property can be used to disable usage of date in declaration ofGenerated
annotation.static final String
Default value for the "eclipselink.canonicalmodel.generate_timestamp
" optional property.static final String
The "eclipselink.canonicalmodel.load_xml
" optional property can be used a performance enhancement between compile rounds.static final String
Default value for the "eclipselink.canonicalmodel.load_xml
" optional property.static final String
The "eclipselink.canonicalmodel.prefix
" optional property specifies the prefix that will be added to the start of the class name of any canonical model class generated.static String
Default prefix that will be added to the start of the class name of any canonical model class generated.static final String
The "eclipselink.canonicalmodel.subpackage
" optional property specifies a sub-package name that can be used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located.static String
Default sub-package name that is used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located.static final String
The "eclipselink.canonicalmodel.suffix
" optional property specifies the suffix that will be added to the end of the class name of any canonical model class generated.static String
Default suffix that will be added to the end of the class name of any canonical model class generated.static final String
The "eclipselink.canonicalmodel.use_static_factory
" optional property can be used a performance enhancement between compile rounds within an IDE.static final String
Default value for the "eclipselink.canonicalmodel.use_static_factory
" optional property.static final String
Property prefix "eclipselink.logging.level.
" allows the category specific logging levels to be specified.static final String
The "jakarta.persistence.bean.manager
" property is used to set CDI BeanManager when availablestatic final String
The "eclipselink.classloader
" property specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.static final String
The "eclipselink.composite-unit
" property indicates if it's a composite persistence unit ("true
").static final String
The "eclipselink.composite-unit.member
" property indicates if the persistence unit must be a member of a composite persistence unit ("true
"), can't be used as an independent persistence unit.static final String
The "eclipselink.composite-unit.properties
" property may be passed to createEntityManagerFactory method of a composite persistence unit to pass properties to member persistence units.static final String
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final String
This property control (enable/disable) ifConcurrencyException
fired when dead-lock diagnostic is enabled.static final String
This property control (enable/disable) ifInterruptedException
fired when dead-lock diagnostic is enabled.static final String
This property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.static final String
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final String
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.static final String
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.static final String
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final String
This property control number of threads in semaphore inObjectBuilder
If "eclipselink.concurrency.manager.object.building.semaphore" property istrue
default value is 10.static final String
This property control (enable/disable) semaphore inObjectBuilder
static final String
This property control (enable/disable) semaphore inWriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
static final String
This property control number of threads in semaphore inWriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property istrue
default value is 2.static final String
This property control timeout between log messages inConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)
when method/thread tries to get permit for the execution.static final String
This property control semaphore the maximum time to wait for a permit inConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)
It's passed toSemaphore.tryAcquire(long, TimeUnit)
Default value is 2000 (unit is ms).static final String
Allow configuring a "eclipselink.connection-pool.
" properties.static final String
The "failover
" property.
This can be append to a connection pool property, i.e.static final String
The "initial
" property.
This can be append to any connection pool property, i.e.static final String
Tell EclipseLink to use it's internal connection pool to pool connections from a datasource.static final String
The "jtaDataSource
" property.
This can be append to a connection pool property, i.e.static final String
The "max
" property.
This can be append to any connection pool property, i.e.static final String
The "min
" property.
This can be append to any connection pool property, i.e.static final String
The "nonJtaDataSource
" property.
This can be append to a connection pool property, i.e.static final String
The "password
" property.
This can be append to a connection pool property, i.e.static final String
Allow configuring the "eclipselink.connection-pool.read.
" properties.static final String
Allow configuring the "eclipselink.connection-pool.sequence.
" properties.static final String
The "shared
" property.
This can be append to the read connection pool, i.e.static final String
The "url
" property.
This can be append to a connection pool property, i.e.static final String
The "user
" property.
This can be append to a connection pool property, i.e.static final String
The "wait
" property.
This can be append to any connection pool property, i.e.static final String
The "eclipselink.cache.coordination.propagate-asynchronously
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.channel
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jgroups.config
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jms.factory
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jms.host
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jms.reuse-topic-publisher
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jms.topic
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jndi.initial-context-factory
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jndi.password
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.jndi.user
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.naming-service
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.protocol
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.remove-connection-on-error
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.rmi.announcement-delay
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.rmi.multicast-group
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.rmi.multicast-group.port
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.rmi.packet-time-to-live
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.rmi.url
" property configures cache coordination for a clustered environment.static final String
The "eclipselink.cache.coordination.serializer
" property configures how cache coordination serializes message sent between nodes.static final String
The "eclipselink.cache.coordination.thread.pool.size
" property configures thread pool size for cache coordination threads.static final String
The property "eclipselink.create-ddl-jdbc-file-name
" specifies the name of the DDL file which is used to create database tables.static final String
The parameter value "create-tables
" specifies that database tables should be created.static final String
The parameter value "create-or-extend-tables
" specifies that database tables should be created and if existing, missing columns will be added.static final String
The "eclipselink.cache.database-event-listener
" property allows integration with a database event notification service.static final String
The parameter value "both
" specifies that DDL will be written to file(s) and the database.static final String
The parameter value "database
" specifies that DDL will be written to the database.static final String
The "eclipselink.ddl-generation
" property allows the database schema to be generated on deployment.static final String
The "eclipselink.ddl-generation.index-foreign-keys
" property specifies if an index should be automatically generated for foreign key constraints.static final String
The "eclipselink.ddl-generation.output-mode
" property specifies if database schema should be generated on the database, to a file, or both.static final String
The parameter value "sql-script
" specifies that DDL will be written to file(s).static final String
Default Suffix could be appended to some prefixes to form a property name setting the default for the persistence unit.static final String
The default location in the file system to output DDL files.static final String
The default name of the DDL file which is used to create database tables.static final String
Theeclipselink.ddl-generation.output-mode
parameter is configured to the default value ofdatabase
.static final String
The default name of the DDL file which is used to drop database tables.static final String
The "eclipselink.deploy-on-startup
" property controls whether EclipseLink creates the persistence unit when the application starts up, or when the persistence unit is first actually accessed by the application.static final String
The "eclipselink.descriptor.customizer.
" is a prefix for a property used to configure aDescriptorCustomizer
.static final String
The parameter value "drop-and-create-tables
" specifies that database tables should be dropped, then created.static final String
The property "eclipselink.drop-ddl-jdbc-file-name
" specifies the name of the DDL file which is used to drop database tables.static final String
The parameter value "drop-tables
" specifies that database tables should be dropped only.static final String
This "eclipselink.persistenceunits
" property specifies the set of persistence unit names that will be processed when generating the canonical model.static final String
The "eclipselink.persistencexml
" property specifies the full resource name to look for the persistence XML files in.static final String
The default resource location used to locate the persistence.xml configuration files.static final String
The "eclipselink.se-puinfo
" property specifies aorg.eclipse.persistence.internal.jpa.deployment.SEPersistenceUnitInfo
that is used create an EntityManagerFactory.static final String
The "eclipselink.exception-handler
" property allows anExceptionHandler
to be specified.static final String
The "eclipselink.exclude-eclipselink-orm
" property configures the exclusion of an EclipseLink ORM mapping file for a specific persistence unit.static final String
The "eclipselink.jdbc.exclusive-connection.is-lazy
" property specifies when write connection is acquired lazily.static final String
The "eclipselink.jdbc.exclusive-connection.mode
" property specifies when reads are performed through the write connection.
You can set this property while creating either an EntityManagerFactory (either in the map passed to the createEntityManagerFactory method, or in the persistence.xml file), or an EntityManager (in the map passed to the createEntityManager method).static final String
The "eclipselink.flush-clear.cache
" property definesEntityManager
cache behavior after a call to flush method followed by a call to clear method.static final String
The "eclipselink.memory.free-metadata
" property configures the JPA internal deployment metadata to be released after deployment.static final String
The "eclipselink.id-validation
" property defines which primary key components values are considered invalid.static final String
The "eclipselink.session.include.descriptor.queries
" property configures whether to enable the copying of all descriptor named queries to the session to be usable from the entity manager.static final String
The system property "INTERACT_WITH_DB
" specifies to enable or disable the execution of DDL (configured with the "eclipselink.ddl-generation
" property) against a database.static final String
Property "eclipselink.jdbc.allow-partial-bind-parameters
" configures whether partial parameter binding should be allowed in the creation of JDBC prepared statements.static final String
Property "eclipselink.jdbc.bind-parameters
" configures whether parameter binding should be used in the creation of JDBC prepared statements.static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_WAIT
static final String
The "eclipselink.jdbc.connector
" property.
Allows a custom connector to be used to define how to connect to the database.static final String
The "jakarta.persistence.jdbc.driver
" property specifies the JDBCDriverManager
class name used for internal connection pooling when a data source is not being used.static final String
Property "eclipselink.jdbc.force-bind-parameters
" enables parameter binding in the creation of JDBC prepared statements.static final String
The "jakarta.persistence.jdbc.password
" property specifies the data source or JDBC password.static final String
The "eclipselink.jdbc.property.
" property allows passing of JDBC driver specific connection properties.static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SHARED
static final String
The "eclipselink.jdbc.result-set-access-optimization
" property allows to set whether a query should by default use ResultSet Access optimization.static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SEQUENCE
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_NON_JTA_DATA_SOURCE
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
static final String
The "jakarta.persistence.jdbc.url
" property specifies the JDBC URL used for internal connection pooling when a data source is not being used.static final String
The "jakarta.persistence.jdbc.user
" property specifies the data source or JDBC user name.static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
static final String
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
static final String
The "eclipselink.transaction.join-existing
" property set to "true
" forces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.static final String
The "eclipselink.jpql.parser
" property allows the JPQL parser to be configured.static final String
The "eclipselink.tolerate-invalid-jpql
" property allows anEntityManager
to be created even in the event that an application has invalid JPQL statements declared in annotations or xml.static final String
The "eclipselink.jpql.validation
" property allows the JPQL parser validation level to be configured.static final String
The "eclipselink.jta.controller
" property allows to override JTA transaction controller class ofServerPlatform
.static final String
The "jakarta.persistence.jtaDataSource
" property specifies the JTA data source name that will look up a validDataSource
.static final String
Property "eclipselink.logging.connection
" indicates if the connection in use should have its identity included in each log message.static final String
Property "eclipselink.logging.exceptions
" indicates if exception stack traces should be included in each log message.
By default stack trace is logged for SEVERE all the time and at FINER level for WARNING or less.static final String
The "eclipselink.logging.file
" property configures a file location where the log will be output to instead of standard out.static final String
The "eclipselink.logging.level
" property allows the default logging levels to be specified.static final String
The "eclipselink.logging.logger
" property specifies the type of logger.static final String
By default sql bind parameters are displayed in exceptions and logs when the log level is FINE or greater.static final String
Property "eclipselink.logging.session
" indicates if the session in use should have its identity included in each log message.static final String
Property "eclipselink.logging.thread
" indicates if current thread should have its identity included in each log message.static final String
The "eclipselink.logging.timestamp
" property configures if the current time stamp should be included in each log message.static final String
The "eclipselink.login.encryptor
" property configures a custom implementation ofSecurable
class used to encrypt and decrypt database password loaded from "jakarta.persistence.jdbc.password
" property.static final String
The "eclipselink.metadata-source
"property configures the type of MetadataSource implementation to use to read Metadatastatic final String
The property "eclipselink.metadata-source.properties.file
" specifies the name of the metadata repository properties file to read from using classloader to find the resource.static final String
The "eclipselink.metadata-source.send-refresh-command
" property works with cache coordination for a clustered environment to.static final String
The property "eclipselink.metadata-source.xml.file
" specifies the name of the metadata repository xml file to read from using classloader to find the resourcestatic final String
The property "eclipselink.metadata-source.xml.URL
" specifies the name of the metadata repository xml URL to read from.static final String
The "eclipselink.tenant-id
" property specifies the default context property used to populate multitenant entities.static final String
The "eclipselink.tenant-schema-id
" property specifies the context property used to distinguish tenants when using global schema per tenant multitenant strategy.static final String
Property "eclipselink.multitenant.tenants-share-cache
" specifies that multitenant entities will share the L2 cache.static final String
Property "eclipselink.multitenant.shared-emf
" is used to indicate that multitenant entities will be used within a shared entity manager factory.static final String
The "eclipselink.multitenant.strategy
" property specifies the global, project wide multitenancy strategy.static final String
The "eclipselink.jpa.naming_into_indexed
" property defines if stored procedure parameters passed by name should be transformed into positional/index based passing if property value will betrue
.static final String
The "eclipselink.jdbc.uppercase-columns
" property configures native SQL queries are used, the JDBC meta-data may return column names in lower case on some platforms.static final String
The "eclipselink.jdbc.native-sql
" property specifies whether generic SQL should be used or platform specific 'native' SQL.static final String
The "jakarta.persistence.nonJtaDataSource
" property specifies the non-JTA data source name that will look up a validDataSource
.static final String
The parameter value "none
" specifies that database tables should not be created or dropped.static final String
The "eclipselink.nosql.connection-factory
" property allows the JCA ConnectionFactory to be specified for a NoSQL or EIS adapter.static final String
The "eclipselink.nosql.connection-spec
" property allows the connection information for an NoSQL or EIS datasource to be specified.static final String
The "eclipselink.nosql.property.password
" property specifies password for NoSQL connection.
Note that "jakarta.persistence.jdbc.password
" is also supported.static final String
The "eclipselink.nosql.property.
" property prefix allows setting NoSQL connection properties.static final String
The "eclipselink.nosql.property.user
" property specifies user name for NoSQL connection.
Note that "jakarta.persistence.jdbc.user
" is also supported.static final String
The "eclipselink.oracle.proxy-type
" property is used to specify proxy type that should be passed to OracleConnection.openProxySession method.static final String
Deprecated.as of EclipseLink 2.6 replaced byPERSISTENCE_CONTEXT_COMMIT_ORDER
static final String
The "eclipselink.orm.validate.schema
" property set on the session is used to override orm.xml schema validation from its default of "false
".static final String
The "eclipselink.partitioning
" property specifies the defaultPartitioningPolicy
for a persistence unit.
A PartitioningPolicy is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC.
Partitioning can provide improved scalability by allowing multiple database machines to service requests.static final String
The "eclipselink.partitioning.callback
" is used to integrate with an external DataSource's data affinity support, such as UCP.static final String
The "eclipselink.persistence-context.close-on-commit
" property specifies that the EntityManager will be closed or not used after commit (not extended).static final String
The "eclipselink.persistence-context.commit-order
" property defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation.static final String
The "eclipselink.persistence-context.commit-without-persist-rules
" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are found ignoring any absence of CascadeType.PERSIST settings.static final String
The "eclipselink.persistence-context.flush-mode
" property configures the EntityManager FlushMode to be set as a persistence property.static final String
The "eclipselink.persistence-context.persist-on-commit
" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are cascade persist.static final String
The "eclipselink.persistence-context.reference-mode
" property configures whether there should be hard or soft references used within the Persistence Context.static final String
The "jakarta.persistence.lock.timeout
" property configures the WAIT timeout used in pessimistic locking, if the database query exceeds the timeout the database will terminate the query and return an exception.static final String
The "eclipselink.pessimistic.lock.timeout.unit
" property configures the query timeout unit value.static final String
The "eclipselink.profiler
" property configures the type of profiler used to capture runtime statistics.static final String
The "eclipselink.project-cache
" property configures the type oforg.eclipse.persistence.jpa.metadata.ProjectCache
implementation to use to retrieve and store projects representing the metadata for the project.static final String
The property "eclipselink.project-cache.java-serialization.file
" specifies the name of the file to read/write a serialized project representing the application's metadataINTERNAL: The following properties will not be displayed through logging but instead have an alternate value shown in the log.static final String
Property prefix "eclipselink.cache.query-results
" used to configure the default option for query results caching.static final String
This property control (enable/disable) query result cache validation inUnitOfWorkImpl.internalExecuteQuery(org.eclipse.persistence.queries.DatabaseQuery, org.eclipse.persistence.internal.sessions.AbstractRecord)
static final String
The "jakarta.persistence.query.timeout
" property configures the default query timeout value.static final String
The "eclipselink.query.timeout.unit
" property configures the query timeout unit value.static final String
The "eclipselink.remote.protocol
" property configures remote JPA for a client or server.static final String
The "eclipselink.remote.server.name
" property configures remote JPA for a server.static final String
The "eclipselink.remote.client.url
" property configures remote JPA for a client.static final String
If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "jakarta.persistence.database-major-version
" property should be specified as needed.static final String
If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "jakarta.persistence.database-minor-version
" property should be specified as needed.static final String
If scripts are to be generated by the persistence provider and a connection to the target database is not supplied, the "jakarta.persistence.database-product-name
" property must be specified.static final String
The "jakarta.persistence.schema-generation.connection
" property specifies the JDBC connection to be used for schema generation.static final String
The parameter value "create
"static final String
In Java EE environments, it is anticipated that the Java EE platform provider may wish to control the creation of database schemas rather than delegate this task to the persistence provider.static final String
The "jakarta.persistence.schema-generation.create-script-source
" is used for script execution.static final String
The "jakarta.persistence.schema-generation.create-source
" property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.static final String
The "jakarta.persistence.schema-generation.database.action
" property specifies the action to be taken by the persistence provider with regard to the database artifacts.static final String
The parameter value "drop
"static final String
The parameter value "drop-and-create
"static final String
The "jakarta.persistence.schema-generation.drop-script-source
" is used for script execution.static final String
The "jakarta.persistence.schema-generation.drop-source
" property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.static final String
The parameter value "metadata
"static final String
The parameter value "metadata-then-script
"static final String
The parameter value "none
"static final String
The parameter value "script
"static final String
When the "eclipselink.ddlgen-terminate-statements
" property is set to true and a DDL script is being generated, the value ofDatabasePlatform.getStoredProcedureTerminationToken()
is appended to the end of each statement.static final String
The parameter value "script-then-metadata
"static final String
The "jakarta.persistence.schema-generation.scripts.action
" property specifies which scripts are to be generated by the persistence provider.static final String
If scripts are to be generated, the target locations for the writing of these scripts must be specified.static final String
If scripts are to be generated, the target locations for the writing of these scripts must be specified.static final String
In Java EE container environments, it is generally expected that the container will be responsible for executing data load scripts, although the container is permitted to delegate this task to the persistence provider.static final String
The "eclipselink.sequencing.default-sequence-to-table
" property determines the default behavior when a GeneratedValue of type SEQUENCE is used on a database platform that does not support SEQUENCE generation.static final String
By default, EclipseLink generates sequence values at (NEXTVAL - allocationSize).static final String
The "eclipselink.serializer
" property specifies class name for session serializer (must implementSerializer
)static final String
The "eclipselink.session.customizer
" property configures aSessionCustomizer
used to alter the runtime configuration through API.static final String
The "eclipselink.session-event-listener
" property configures a session event listener class.static final String
The "eclipselink.session-name
" property configures a specific name to use when storing the singleton server session within theSessionManager
.static final String
The "eclipselink.sessions-xml
" property configures the use of the specified native sessions.xml configuration file.static final String
The "jakarta.persistence.sharedCache.mode
" property determines whether second-level caching is in effect for the persistence unit.static final String
The "eclipselink.jpa.sqlcall.deferral.default
" property defines if SQL calls should be deferred to end of transaction by default or not.static final String
The "eclipselink.jdbc.sql-cast
" property specifies if platform specific CAST SQL operations should be used.static final String
The "eclipselink.ddl.table-creation-suffix
" property is used in conjunction with DDL generation options to append a string to the end of generated CREATE Table statements.static final String
The "eclipselink.target-database
" property configures the database that will be used controlling custom operations and SQL generation for the specified database.static final String
The "eclipselink.target-database-properties
" property configures additional properties for the configured target-database.static final String
The "eclipselink.target-server
" property configures theServerPlatform
that will be used to enable integration with a host container.static final String
The "eclipselink.temporal.mutable
" property configures the default for detecting changes to temporal field (Date, Calendar).static final String
The "eclipselink.thread.extended.logging
" property control (enable/disable) some additional logging messages like print error message if cached Entity is picked by different thread, or if EntityManager/UnitOfWork is reused/passed to different thread.static final String
The "eclipselink.thread.extended.logging.threaddump
" property control (enable/disable) store and display thread dump.static final String
The "eclipselink.orm.throw.exceptions
" property specifies if the first exception that occurs during deployment should be thrown, or if all exceptions should be caught and summary thrown at end of deployment attempt.static final String
The "jakarta.persistence.transactionType
" property specifies the transaction type for the persistence unit.static final String
The "eclipselink.tuning
"property configures the type of tuner to use to configure the persistence unit.static final String
The "eclipselink.jpa.uppercase-column-names
" property configures JPA processing to uppercase all column name definitions.static final String
The "eclipselink.locking.timestamp.local
" property defines if locking policies should default to local time(true) or server time(false).static final String
The "eclipselink.validate-existence
" property configures if the existence of an object should be verified on persist(), otherwise it will assume to be new if not in the persistence context.static final String
The "jakarta.persistence.validation.group.pre-persist
" property specifies the name of the validator groups to execute forpreUpdate
event.static final String
The "jakarta.persistence.validation.group.pre-remove
" property specifies the name of the validator groups to execute forpreRemove
event.static final String
The "jakarta.persistence.validation.group.pre-update
" property specifies the name of the validator groups to execute forpreUpdate
event.static final String
The "jakarta.persistence.validation.mode
" property specifies whether the automatic lifecycle event validation is in effect.static final String
The "eclipselink.validation-only
" property validates deployment which includes initializing descriptors but does not connect (no login to the database).static final String
The "jakarta.persistence.validation.factory
" property specifies an instance of jakarta.validation.ValidatorFactory used by EclipseLink to perform Automatic Validation upon Lifecycle Events.static final String
The "eclipselink.weaving
" property configures whether weaving should be performed.static final String
The "eclipselink.weaving.changetracking
" property configures whether AttributeLevelChangeTracking should be enabled through weaving.static final String
The "eclipselink.weaving.eager
" property configures whether EAGER mapping's attributes should be woven to use indirection.static final String
The "eclipselink.weaving.fetchgroups
" property configures whether FetchGroup support should be enabled through weaving.static final String
The "eclipselink.weaving.internal
" property indicates whether internal optimizations should be enabled through weaving.static final String
The "eclipselink.weaving.lazy
" property configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.static final String
The "eclipselink.weaving.mappedsuperclass
" property configures whetherMappedSuperclass
es with no direct sub-classes will be woven.static final String
The "eclipselink.weaving.rest
" property configures whether classes will be woven to support EclipseLink JPA_RS functionality -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
getOverriddenLogStringForProperty
(String propertyName) INTERNAL: Return the overridden log string.
-
Field Details
-
TRANSACTION_TYPE
The "jakarta.persistence.transactionType
" property specifies the transaction type for the persistence unit. This property overrides the value specified in the persistence.xml.Allowed Values (case sensitive string):
- "
JTA
" - "
RESOURCE_LOCAL
"
- See Also:
- "
-
JTA_DATASOURCE
The "jakarta.persistence.jtaDataSource
" property specifies the JTA data source name that will look up a validDataSource
. This property is used to override the value specified in the persistence.xml.Allowed Values:
- a well formed JNDI resource name that can locate the data source in the target container
- an instance of
DataSource
.
- See Also:
-
NON_JTA_DATASOURCE
The "jakarta.persistence.nonJtaDataSource
" property specifies the non-JTA data source name that will look up a validDataSource
. This can be used to override the value specified in the persistence.xml.Allowed Values:
- a well formed JNDI resource name that can locate the data source in the target container
- an instance of
DataSource
- See Also:
-
JDBC_DRIVER
The "jakarta.persistence.jdbc.driver
" property specifies the JDBCDriverManager
class name used for internal connection pooling when a data source is not being used.Allowed Values:
- the fully qualified name for a class that implements
Driver
interface
Persistence XML example:
<property name="jakarta.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
The previous value for this property "
eclipselink.jdbc.driver
" is now deprecated and should be replaced with this new name.- See Also:
- the fully qualified name for a class that implements
-
JDBC_URL
The "jakarta.persistence.jdbc.url
" property specifies the JDBC URL used for internal connection pooling when a data source is not being used.Allowed Values:
- a string which represents a valid URL for the specified JDBC driver
Persistence XML example:
<property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost/mysql" />
The previous value for this property "
eclipselink.jdbc.url
" is now deprecated and should be replaced with this new name.- See Also:
-
JDBC_USER
The "jakarta.persistence.jdbc.user
" property specifies the data source or JDBC user name.Persistence XML example:
<property name="jakarta.persistence.jdbc.user" value="user-name" />
The previous value for this property "
eclipselink.jdbc.user
" is now deprecated and should be replaced with this new name.- See Also:
-
JDBC_PASSWORD
The "jakarta.persistence.jdbc.password
" property specifies the data source or JDBC password.Persistence XML example:
<property name="jakarta.persistence.jdbc.password" value="password" />
The previous value for this property "
eclipselink.jdbc.password
" is now deprecated and should be replaced with this new name.- See Also:
-
NATIVE_SQL
The "eclipselink.jdbc.native-sql
" property specifies whether generic SQL should be used or platform specific 'native' SQL. The platform specific SQL customizes join syntax, date operators, sequencing, ...Allowed Values (String):
- "
false
" (DEFAULT) - use generic SQL - "
true
" - use database specific SQL
- See Also:
- "
-
SQL_CAST
The "eclipselink.jdbc.sql-cast
" property specifies if platform specific CAST SQL operations should be used. Casting is normally not required, and can cause issues when used.Allowed Values (String):
- "
false
" (DEFAULT) - disable platform specific cast - "
true
" - enable platform specific cast
- See Also:
- "
-
JPQL_PARSER
The "eclipselink.jpql.parser
" property allows the JPQL parser to be configured.Allowed Values (String):
- "
org.eclipse.persistence.internal.jpa.jpql.HermesParser
" (DEFAULT) - new parser as of EclipseLink 2.4, provides extended JPQL support. - "
org.eclipse.persistence.queries.ANTLRQueryBuilder
" - old parser used previous to EclipseLink 2.4, can be used for backward compatibility.
- See Also:
- "
-
JPQL_VALIDATION
The "eclipselink.jpql.validation
" property allows the JPQL parser validation level to be configured.This setting is only supported in the Hermes parser.
Allowed Values (String):
- "
EclipseLink
" (DEFAULT) - allows EclipseLink JPQL extensions. - "
JPA 1.0
" - only allows valid JPA 1.0 JPQL. - "
JPA 2.0
" - only allows valid JPA 2.0 JPQL. - "
JPA 2.1
" - only allows valid JPA 2.1 JPQL. - "
None
" - no JPQL validation is done.
- See Also:
- "
-
CONNECTION_POOL_WAIT
The "wait
" property.
This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.wait
" which specifies the timeout time in milliseconds (ms) that will be waited for an available connection before an exception is thrown.Ignored in case external connection pools are used.
Default: 180000 ms (3 minutes).
Allowed Values:
- a string containing a positive integer value. A value of 0 means wait forever.
- See Also:
-
CONNECTION_POOL_MAX
The "max
" property.
This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.max
".
Specifies the maximum number of read connection in the internal connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
CONNECTION_POOL_MIN
The "min
" property.
This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.min
".
Specifies the minimum number of connections in EclipseLink connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
CONNECTION_POOL_INITIAL
The "initial
" property.
This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.initial
" EclipseLink JDBC (internal) connection pools properties. Initial number of connections in EclipseLink connection pool. This is the number of connections connected at startup. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
CONNECTION_POOL_SHARED
The "shared
" property.
This can be append to the read connection pool, i.e. "eclipselink.jdbc.connection_pool.read.shared
".
Configures whether connections in EclipseLink read connection pool should be shared (not exclusive). Connection sharing means the same JDBC connection will be used concurrently for multiple reading threads.This property is ignored in case external connection pools are used.
Allowed Values (String):
- "
false
" (DEFAULT) - indicates read connections will not be shared - "
true
" - indicates read connections can be shared
- See Also:
- "
-
CONNECTION_POOL_URL
The "url
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.url
".
Configures the JDBC url to use for the connection pool. Only required if different than the default.- See Also:
-
CONNECTION_POOL_JTA_DATA_SOURCE
The "jtaDataSource
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.jtaDataSource
".
Configures the JTA DataSource name to use for the connection pool. Only required if different than the default.- See Also:
-
CONNECTION_POOL_NON_JTA_DATA_SOURCE
The "nonJtaDataSource
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.nonJtaDataSource
".
Configures the non JTA DataSource name to use for the connection pool. Only required if different than the default.- See Also:
-
CONNECTION_POOL_USER
The "user
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.user
".
Configures the user name to use for the connection pool. Only required if different than the default.- See Also:
-
CONNECTION_POOL_PASSWORD
The "password
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.password
".
Configures the password to use for the connection pool. Only required if different than the default.- See Also:
-
CONNECTION_POOL_FAILOVER
The "failover
" property.
This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.failover
".
Configures the connection pool(s) to fail-over to if this connection pool fails. A comma separate list is allowed if multiple failover pools are required.- See Also:
-
CONNECTION_POOL
Allow configuring a "eclipselink.connection-pool.
" properties. The name of the connection pool must be appended to configure the pool, if no name is appended the default (write) pool is configured. The name of the property to configure must also be appended.A user defined connection pool can be configured or one of the following system pools:
- "
read
" - pool used for non-transactional read queries, (defaults to default pool if not specified). - "
default
", "write
", "" - default pool used for writing and reads if no read pool configured. - "
sequence
" - pool used for sequencing, (default pool/write connection used if not specified).
A user defined pool is only used if specified in the EntityManager properties or ClientSession ConnectionPolicy, or if partitioning is used.
The following connection pool properties can be configured:
- "
initial
" - number of initial connections. - "
min
" - minimum number of connections. - "
max
" - maximum number of connections. - "
wait
" - amount of time to wait for a connection from the pool. - "
url
" - JDBC URL for the connection. - "
shared
" - only for the read connection pool, shares read connections across threads. - "
jtaDataSource
" - JTA DataSource name to use for the connection, if different than the default. - "
nonJtaDataSource
" - non JTA DataSource name to use for the connection, if different than the default. - "
user
" - user to use for the connection, if different than the default. - "
password
" - password to use for the connection, if different than the default.
Persistence XML example:
<property name="eclipselink.connection-pool.node2.min" value="16"/> <property name="eclipselink.connection-pool.node2.max" value="16"/> <property name="eclipselink.connection-pool.node2.url" value="jdbc:oracle:thin:@node2:1521:orcl"/>
- See Also:
- "
-
CONNECTION_POOL_READ
Allow configuring the "eclipselink.connection-pool.read.
" properties. The read connection pool is used for non-transaction read queries. By default a separate read connection pool is not used, and the default pool is used for read queries.One of the following connection pool properties must be appended.
- "
initial
" - number of initial connections. - "
min
" - minimum number of connections. - "
max
" - maximum number of connections. - "
wait
" - amount of time to wait for a connection from the pool. - "
url
" - JDBC URL for the connection. - "
shared
" - only for the read connection pool, shares read connections across threads. - "
jtaDataSource
" - JTA DataSource name to use for the connection, if different than the default. - "
nonJtaDataSource
" - non JTA DataSource name to use for the connection, if different than the default. - "
user
" - user to use for the connection, if different than the default. - "
password
" - password to use for the connection, if different than the default.
Persistence XML example:
<property name="eclipselink.connection-pool.read.min" value="8"/> <property name="eclipselink.connection-pool.read.max" value="32"/> <property name="eclipselink.connection-pool.read.nonJtaDataSource" value="jdbc/readDataSource"/>
- See Also:
- "
-
CONNECTION_POOL_SEQUENCE
Allow configuring the "eclipselink.connection-pool.sequence.
" properties. The sequence connection pool is used to allocate generated Ids. This is only required for TABLE sequencing.By default a separate sequence connection pool is not used, and the default pool is used for sequencing.
One of the following connection pool properties must be appended.
- "
initial
" - number of initial connections. - "
min
" - minimum number of connections. - "
max
" - maximum number of connections. - "
wait
" - amount of time to wait for a connection from the pool. - "
url
" - JDBC URL for the connection. - "
jtaDataSource
" - JTA DataSource name to use for the connection, if different than the default. - "
nonJtaDataSource
" - non JTA DataSource name to use for the connection, if different than the default. - "
user
" - user to use for the connection, if different than the default. - "
password
" - password to use for the connection, if different than the default.
Persistence XML example:
<property name="eclipselink.connection-pool.sequence.min" value="1"/> <property name="eclipselink.connection-pool.sequence.max" value="1"/> <property name="eclipselink.connection-pool.sequence.nonJtaDataSource" value="jdbc/sequenceDataSource"/>
- See Also:
- "
-
CONNECTION_POOL_INTERNALLY_POOL_DATASOURCE
Tell EclipseLink to use it's internal connection pool to pool connections from a datasource.This property is useful when using EclipseLink with Gemini JPA because it internally wraps local database information in a datasource.
Allowed Values (String):
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
JDBC_CONNECTIONS_WAIT
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_WAIT
The "eclipselink.jdbc.connections.wait-timeout
" property which specifies the timeout time in milliseconds (ms) that will be waited for an available connection before an exception is thrown.Ignored in case external connection pools are used.
Default: 180000 ms (3 minutes).
Allowed Values:
- a string containing a positive integer value. A value of 0 means wait forever.
- See Also:
-
JDBC_CONNECTIONS_MAX
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
The "eclipselink.jdbc.connections.max
" property specifies the maximum number of read connection in the internal connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
JDBC_CONNECTIONS_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
The "eclipselink.jdbc.connections.min
" property specifies the minimum number of connections in EclipseLink connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
JDBC_CONNECTIONS_INITIAL
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
The "eclipselink.jdbc.connections.initial
" property EclipseLink JDBC (internal) connection pools properties. Initial number of connections in EclipseLink connection pool. This is the number of connections connected at startup. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
JDBC_WRITE_CONNECTIONS_MAX
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
The "eclipselink.jdbc.write-connections.max
" property specifies the maximum number of connections supported in the internal write connection pool. Maximum number of connections in EclipseLink write connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
JDBC_WRITE_CONNECTIONS_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
The "eclipselink.jdbc.write-connections.min
" property specifies the minimum number of connections in the internal write connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.Ignored in case external connection pools are used.
Allowed Values:
- a string containing a positive integer value
- See Also:
-
JDBC_WRITE_CONNECTIONS_INITIAL
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
The "eclipselink.jdbc.write-connections.initial
" property configures the number of connections connected at created at startup in the write connection pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.This property is ignored in case external connection pools are used.
Allowed Values:
- a string containing a zero or greater integer value
- See Also:
-
JDBC_READ_CONNECTIONS_MAX
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
The "eclipselink.jdbc.read-connections.max
" property configures the maximum number of connections in the read connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool (unless shared). By default a separate read connection pool is not used. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.This property is ignored in case external connection pools are used.
Allowed Values:
- a string containing a zero or greater integer value
See:
JDBC_CONNECTIONS_WAIT
to configure the timeout waiting on a connection.
- See Also:
-
JDBC_READ_CONNECTIONS_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
The "eclipselink.jdbc.read-connections.min
" property configures the minimum number of connections in read connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a separate read connection pool is not used. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.This property is ignored in case external connection pools are used.
Allowed Values:
- a string containing a zero or greater integer value
- See Also:
-
JDBC_READ_CONNECTIONS_INITIAL
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
The "eclipselink.jdbc.read-connections.initial
" property configures the number of connections connected at created at startup in the read connection pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.This property is ignored in case external connection pools are used.
Allowed Values:
- a string containing a zero or greater integer value
- See Also:
-
JDBC_READ_CONNECTIONS_SHARED
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SHARED
The "eclipselink.jdbc.read-connections.shared
" property configures whether connections in EclipseLink read connection pool should be shared (not exclusive). Connection sharing means the same JDBC connection will be used concurrently for multiple reading threads.This property is ignored in case external connection pools are used.
Allowed Values:
- "
false
" (DEFAULT) - indicates read connections will not be shared - "
true
" - indicates read connections can be shared
- See Also:
- "
-
JDBC_SEQUENCE_CONNECTION_POOL_MAX
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAX
The "eclipselink.jdbc.sequence-connection-pool.max
" property configures the maximum number of connections in the sequence connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool.By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).
This property is ignored in case external connection pools are used.
Default: 2
Allowed Values:
- a string containing a zero or greater integer value.
See:
JDBC_SEQUENCE_CONNECTION_POOL
Required to configure the use of a sequence pool/data-sourceJDBC_CONNECTIONS_WAIT
to configure the timeout
- See Also:
-
JDBC_SEQUENCE_CONNECTION_POOL_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MIN
The "eclipselink.jdbc.sequence-connection-pool.min
" property configures the minimum number of connections in sequence connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the maximum to avoid connecting/disconnecting.By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).
This property is ignored in case external connection pools are used.
Default: 2
Allowed Values:
- a string containing a zero or greater integer value.
See:
JDBC_SEQUENCE_CONNECTION_POOL
Required to configure the use of a sequence pool/data-source
- See Also:
-
JDBC_SEQUENCE_CONNECTION_POOL_INITIAL
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIAL
The "eclipselink.jdbc.sequence-connection-pool.initial
property configures the initial number of connections in sequence connection pool. This is the number of connections connected at startup.By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).
This property is ignored in case external connection pools are used.
Default: 2
Allowed Values:
- a string containing a zero or greater integer value.
See:
JDBC_SEQUENCE_CONNECTION_POOL
Required to configure the use of a sequence pool/data-source
- See Also:
-
JDBC_SEQUENCE_CONNECTION_POOL
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SEQUENCE
The "eclipselink.jdbc.sequence-connection-pool
" property configures a separate connection pool should used for sequencing to retrieve new value(s). This improves sequence allocation by allocating sequencing outside the current transaction. This can be used with internal or external (DataSource) connection pooling, external must provide a non-jta-datasource resource name usingJDBC_SEQUENCE_CONNECTION_POOL_DATASOURCE
. A sequence connection pool is generally only used with using TABLE sequencing to minimize contention on the sequence table(s).Allowed Values (case-insensitive):
- "
false
" (DEFAULT) - "
true
"
See:
JDBC_SEQUENCE_CONNECTION_POOL_DATASOURCE
to configure the use of a non-JTA data source for sequence allocation call.JDBC_SEQUENCE_CONNECTION_POOL_INITIAL
to configure the initial connections size for internal connection poolingJDBC_SEQUENCE_CONNECTION_POOL_MIN
to configure the minimum connections size for internal connection poolingJDBC_SEQUENCE_CONNECTION_POOL_MAX
to configure the maximum connections size for internal connection pooling
- See Also:
- "
-
JDBC_SEQUENCE_CONNECTION_POOL_DATASOURCE
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_NON_JTA_DATA_SOURCE
The "eclipselink.jdbc.sequence-connection-pool.non-jta-data-source
property configures the name of the non-JTA data source that will be used for sequencing calls.- See Also:
-
PARTITIONING
The "eclipselink.partitioning
" property specifies the defaultPartitioningPolicy
for a persistence unit.
A PartitioningPolicy is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC.
Partitioning can provide improved scalability by allowing multiple database machines to service requests.If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
Allowed Values:
- the name of an existing defined
PartitioningPolicy
- See Also:
- the name of an existing defined
-
PARTITIONING_CALLBACK
The "eclipselink.partitioning.callback
" is used to integrate with an external DataSource's data affinity support, such as UCP.Allowed Values:
- the fully qualified name for a class that implements
DataPartitioningCallback
interface i.e. "org.eclipse.persistence.platform.database.oracle.ucp.UCPDataPartitioningCallback
"
- See Also:
- the fully qualified name for a class that implements
-
JDBC_BIND_PARAMETERS
Property "eclipselink.jdbc.bind-parameters
" configures whether parameter binding should be used in the creation of JDBC prepared statements.Usage of parameter binding is generally a performance optimization; allowing for SQL and prepared statement caching, as well as usage of batch writing.
Allowed Values:
- "
false
" - all values will be written literally into the generated SQL - "
true
" (DEFAULT) - all values will be bound as parameters in the generated SQL
- See Also:
- "
-
JDBC_ALLOW_PARTIAL_PARAMETERS
Property "eclipselink.jdbc.allow-partial-bind-parameters
" configures whether partial parameter binding should be allowed in the creation of JDBC prepared statements.EclipseLink determines binding behavior based on the database platform's support for binding. If the database platform doesn't support binding for a specific expression, EclipseLink disables all binding for the whole query. Setting this property to 'true' will allow EclipseLink to bind per expression, instead of per query.
Usage of parameter binding is generally a performance optimization; allowing for SQL and prepared statement caching, as well as usage of batch writing.
Allowed Values:
- "
true
" - EclipseLink binds parameters per SQL function/expression. Requires Platform support if enabled. - "
false
" (DEFAULT) - EclipseLink either binds all parameters or no parameters; depending on database support
- See Also:
- "
-
JDBC_FORCE_BIND_PARAMETERS
Property "eclipselink.jdbc.force-bind-parameters
" enables parameter binding in the creation of JDBC prepared statements. Some database platforms disable parameter binding on certain functions and relations. This property allows the user to force parameter binding to be enabled regardless.Allowed Values:
- "
false
" (DEFAULT) - values will default to platform specific logic - "
true
" - bindings will use platform default
- See Also:
- "
-
EXCLUSIVE_CONNECTION_MODE
The "eclipselink.jdbc.exclusive-connection.mode
" property specifies when reads are performed through the write connection.
You can set this property while creating either an EntityManagerFactory (either in the map passed to the createEntityManagerFactory method, or in the persistence.xml file), or an EntityManager (in the map passed to the createEntityManager method). Note that the latter overrides the former.Allowed Values:
- "
Transactional
" (DEFAULT) -ExclusiveConnectionMode.Transactional
- "
Isolated
" -ExclusiveConnectionMode.Isolated
- "
Always
" -ExclusiveConnectionMode.Always
- See Also:
- "
-
EXCLUSIVE_CONNECTION_IS_LAZY
The "eclipselink.jdbc.exclusive-connection.is-lazy
" property specifies when write connection is acquired lazily.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
CACHE_STATEMENTS_SIZE
The "eclipselink.jdbc.cache-statements.size
" property specifies the number of statements held when using internal statement caching.Default: 50
Allowed Values:
- a string containing a zero or greater integer value.
- See Also:
-
CACHE_STATEMENTS
The "eclipselink.jdbc.cache-statements
" property specifies whether JDBC statements should be cached. This is recommended when using EclipseLink's internal connection pooling.Allowed Values:
- "
false
" (DEFAULT) - disable internal statement caching. - "
true
" - enable internal statement caching.
Persistence XML example:
<property name="eclipselink.jdbc.cache-statements" value="false"/>
Java example:
props.put(PersistenceUnitProperties.CACHE_STATEMENTS, "false");
- See Also:
- "
-
VALIDATOR_FACTORY
The "jakarta.persistence.validation.factory
" property specifies an instance of jakarta.validation.ValidatorFactory used by EclipseLink to perform Automatic Validation upon Lifecycle Events. If the property is not specified, and if Bean Validation API is visible to EclipseLink, it will try to instantiate an instance ofjakarta.validation.ValidationFactory
by callingValidation.buildDefaultValidatorFactory()
.- See Also:
-
VALIDATION_MODE
The "jakarta.persistence.validation.mode
" property specifies whether the automatic lifecycle event validation is in effect.Allowed Values:
- "
AUTO
" - "
CALLBACK
" - "
NONE
"
- See Also:
- "
-
VALIDATION_GROUP_PRE_PERSIST
The "jakarta.persistence.validation.group.pre-persist
" property specifies the name of the validator groups to execute forpreUpdate
event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, the default Bean Validation group (the group Default) will be validated- See Also:
-
VALIDATION_GROUP_PRE_UPDATE
The "jakarta.persistence.validation.group.pre-update
" property specifies the name of the validator groups to execute forpreUpdate
event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, the default Bean Validation group (the group Default) will be validated- See Also:
-
VALIDATION_GROUP_PRE_REMOVE
The "jakarta.persistence.validation.group.pre-remove
" property specifies the name of the validator groups to execute forpreRemove
event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, no validation will occur on remove.- See Also:
-
BEAN_VALIDATION_NO_OPTIMISATION
Property for disabling Bean Validation optimisations. Bean Validation features optimisations, which are used to skip BV processes on non-constrained objects. This is to make maintenance easier and to allow for debugging in case that some object is not validated, but should be. Usage: set toBoolean.TRUE
to disable optimisations, set toBoolean.FALSE
to re-enable them again.- See Also:
-
DEFAULT
Default Suffix could be appended to some prefixes to form a property name setting the default for the persistence unit.- See Also:
-
CACHE_SIZE_
Property prefix "eclipselink.cache.size.
" is used to specify the cache size for a specific entity type. The prefix must be followed by a valid entity type name.Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or
DEFAULT
suffix (indicating that the property value applies to all entities).For most cache types, the size is only the initial size, not a fixed or maximum size. For CacheType.SoftCache and CacheType.HardCache the size is the sub-cache size. The default cache size is 100.
- See Also:
-
CACHE_TYPE_
Property prefix "eclipselink.cache.type.
" sets the type of cache for a specific entity type. The prefix must be followed by a valid entity type name.Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or
DEFAULT
suffix (indicating that the property value applies to all entities).All valid values for CACHE_TYPE_ properties are declared in
CacheType
class. The default cache type isCacheType.SoftWeak
.If you do not wish to cache entities at all, then set
CACHE_SHARED_
to "false
".- See Also:
-
CACHE_SHARED_
Property prefix "eclipselink.cache.shared.
" indicates whether entity's cache should be shared (non-isolated) for a specific entity type. The prefix must be followed by a valid entity type name.Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or
DEFAULT
suffix (indicating that the property value applies to all entities).If you do not wish to cache your entities, set this to "
false
".Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
SHARED_CACHE_MODE
The "jakarta.persistence.sharedCache.mode
" property determines whether second-level caching is in effect for the persistence unit. This property overrides the value specified by the <shared-cache-mode> element in the persistence.xml.Allowed Values:
- "
ALL
" - "
NONE
" - "
ENABLE_SELECTIVE
" - "
DISABLE_SELECTIVE
" - "
UNSPECIFIED
"
- See Also:
- "
-
CACHE_SIZE_DEFAULT
Default caching properties - apply to all entities. May be overridden by individual entity property with the same prefix. For most cache types, the size is only the initial size, not a fixed or maximum size. For CacheType.SoftCache and CacheType.HardCache the size is the sub-cache size. The default cache size is 100.- See Also:
-
CACHE_TYPE_DEFAULT
Default caching properties - apply to all entities. May be overridden by individual entity property with the same prefix. The default cache type is SoftWeak. This sets the type of cache, if you do not wish to cache entities at all, then setCACHE_SHARED_DEFAULT
.- See Also:
-
CACHE_EXTENDED_LOGGING
The "eclipselink.cache.extended.logging
" property control (enable/disable) usage logging of JPA L2 cache. In case of "true
" EclipseLink generates messages into log output about cache hit/miss new object population and object removal or invalidation. This kind of messages will by displayed only if logging level (property "eclipselink.logging.level
") is "FINEST
" It displays Entity class, ID and thread info (ID, Name).Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
THREAD_EXTENDED_LOGGING
The "eclipselink.thread.extended.logging
" property control (enable/disable) some additional logging messages like print error message if cached Entity is picked by different thread, or if EntityManager/UnitOfWork is reused/passed to different thread.Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
THREAD_EXTENDED_LOGGING_THREADDUMP
The "eclipselink.thread.extended.logging.threaddump
" property control (enable/disable) store and display thread dump. This is extension to "eclipselink.thread.extended.logging
" which must be enabled. It prints additionally to some log messages presented by "eclipselink.thread.extended.logging
" creation and current thread stack traces.Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
CANONICAL_MODEL_PREFIX
The "eclipselink.canonicalmodel.prefix
" optional property specifies the prefix that will be added to the start of the class name of any canonical model class generated. By default the prefix is not used.- See Also:
-
CANONICAL_MODEL_PREFIX_DEFAULT
Default prefix that will be added to the start of the class name of any canonical model class generated.- See Also:
-
CANONICAL_MODEL_SUFFIX
The "eclipselink.canonicalmodel.suffix
" optional property specifies the suffix that will be added to the end of the class name of any canonical model class generated. The suffix defaults to "_" unless a prefix is specified. If this property is specified, the value must be a non-empty string that contains valid characters for use in a Java class name.- See Also:
-
CANONICAL_MODEL_SUFFIX_DEFAULT
Default suffix that will be added to the end of the class name of any canonical model class generated.- See Also:
-
CANONICAL_MODEL_SUB_PACKAGE
The "eclipselink.canonicalmodel.subpackage
" optional property specifies a sub-package name that can be used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located. By default the canonical model classes are generated into the same package as the entity classes.- See Also:
-
CANONICAL_MODEL_SUB_PACKAGE_DEFAULT
Default sub-package name that is used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located.- See Also:
-
CANONICAL_MODEL_LOAD_XML
The "eclipselink.canonicalmodel.load_xml
" optional property can be used a performance enhancement between compile rounds. It is used to avoid reloading XML metadata on each compile which may only contain a single class etc. The default value is true and should be left as such for the initial generation to capture the XML metadata. Afterwards users may choose to set this flag if no changes to XML are expected thereafter.- See Also:
-
CANONICAL_MODEL_LOAD_XML_DEFAULT
Default value for the "eclipselink.canonicalmodel.load_xml
" optional property.- See Also:
-
CANONICAL_MODEL_USE_STATIC_FACTORY
The "eclipselink.canonicalmodel.use_static_factory
" optional property can be used a performance enhancement between compile rounds within an IDE. It is used to avoid using a static metadata factory between 'cache' metadata from incremental builds. Turning this off in some use cases (IDE) could result in a loss of functionality. The default value is true and should be left as such for full feature support.- See Also:
-
CANONICAL_MODEL_USE_STATIC_FACTORY_DEFAULT
Default value for the "eclipselink.canonicalmodel.use_static_factory
" optional property.- See Also:
-
CANONICAL_MODEL_GENERATE_GENERATED
The "eclipselink.canonicalmodel.use_generated
" optional property can be used to disable generation ofGenerated
annotation. The default value is true. If the value isfalse
, CANONICAL_MODEL_GENERATE_TIMESTAMP and CANONICAL_MODEL_GENERATE_COMMENTS properties are ignored.- See Also:
-
CANONICAL_MODEL_GENERATE_GENERATED_DEFAULT
Default value for the "eclipselink.canonicalmodel.use_generated
" optional property.- See Also:
-
CANONICAL_MODEL_GENERATE_TIMESTAMP
The "eclipselink.canonicalmodel.generate_timestamp
" optional property can be used to disable usage of date in declaration ofGenerated
annotation. The default value is true.- See Also:
-
CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT
Default value for the "eclipselink.canonicalmodel.generate_timestamp
" optional property.- See Also:
-
CANONICAL_MODEL_GENERATE_COMMENTS
The "eclipselink.canonicalmodel.generate_comments
" optional property can be used to disable usage of comments in declaration ofGenerated
annotation. The default value is true.- See Also:
-
CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT
Default value for the "eclipselink.canonicalmodel.generate_comments
" optional property.- See Also:
-
CACHE_SHARED_DEFAULT
Default caching properties - apply to all entities. May be overridden by individual entity property with the same prefix. If you do not wish to cache your entities, set this to "false
".- See Also:
-
QUERY_CACHE
Property prefix "eclipselink.cache.query-results
" used to configure the default option for query results caching.The query results cache is separate from the object cache. It caches the results of named query execution. The query results cache is not enabled by default, and can be enabled per query. This option allows it to be enabled for all named queries.
Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
DATABASE_EVENT_LISTENER
The "eclipselink.cache.database-event-listener
" property allows integration with a database event notification service. This allows the EclipseLink cache to be invalidated by database change events. This is used to support Oracle QCN/DCN (Database Change event Notification), but could also be used by triggers or other services, or other types of events.Allowed Values:
- the fully qualified name for a class that implements
DatabaseEventListener
interface, for example "org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationListener
" - "
DCN
" - for Oracle only - "
QCN
" - for Oracle only
- See Also:
- the fully qualified name for a class that implements
-
CACHE_QUERY_FORCE_DEFERRED_LOCKS
The "eclipselink.cache.query-force-deferred-locks
" property force all queries and relationships to use deferred lock strategy during object building and L2 cache population.Allowed Values (String):
- "
false
" (DEFAULT) - use use mixed object cache locking strategy - "
true
" - use deferred locking strategy all queries and relationships
- See Also:
- "
-
LOGGING_LOGGER
The "eclipselink.logging.logger
" property specifies the type of logger.Default:
DefaultSessionLog
Allowed Values:
- the fully qualified name for a class that implements
SessionLog
interface - one of values defined in
LoggerType
- See Also:
- the fully qualified name for a class that implements
-
LOGGING_LEVEL
The "eclipselink.logging.level
" property allows the default logging levels to be specified.Logging Levels: SessionLog.ALL_LABEL
ALL SessionLog.FINEST_LABEL
FINEST SessionLog.FINER_LABEL
FINER SessionLog.FINE_LABEL
FINE SessionLog.CONFIG_LABEL
CONFIG SessionLog.INFO_LABEL
INFO (DEFAULT) SessionLog.WARNING_LABEL
WARNING SessionLog.SEVERE_LABEL
SEVERE SessionLog.OFF_LABEL
OFF Persistence XML example:
<property name="eclipselink.logging.level" value="FINE" />
Java example:
props.put(PersistenceUnitProperties.LOGGING_LEVEL, SessionLog.FINE_LABEL);
- See Also:
-
CATEGORY_LOGGING_LEVEL_
Property prefix "eclipselink.logging.level.
" allows the category specific logging levels to be specified.Logger categories: SessionLog.CACHE
cache SessionLog.CONNECTION
connection SessionLog.DMS
dms SessionLog.EJB
ejb SessionLog.EVENT
event SessionLog.JPA
jpa SessionLog.METAMODEL
metamodel SessionLog.PROPAGATION
propagation SessionLog.PROPERTIES
properties SessionLog.QUERY
query SessionLog.SEQUENCING
sequencing SessionLog.SERVER
server SessionLog.SQL
sql SessionLog.TRANSACTION
transaction SessionLog.WEAVER
weaver Allowed Values:
- names of levels defined in
java.util.logging.Level
, default value isINFO
.
Persistence XML example:
<property name="eclipselink.logging.level.ejb_or_metadata" value="WARNING"/>
Java example:
props.put(PersistenceUnitProperties.CATEGORY_LOGGING_LEVEL_ + SessionLog.EJB_OR_METADATA, SessionLog.WARNING_LABEL);
- See Also:
- names of levels defined in
-
LOGGING_PARAMETERS
By default sql bind parameters are displayed in exceptions and logs when the log level is FINE or greater. To override this behavior you may set this property to specify that the data should or should not be visible.
Note: this property applies only to bind parameters. When not using binding, the parameters are always displayed.Allowed Values:
- "
false
" - "
true
"
- See Also:
- "
-
LOGGING_TIMESTAMP
The "eclipselink.logging.timestamp
" property configures if the current time stamp should be included in each log message.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
LOGGING_THREAD
Property "eclipselink.logging.thread
" indicates if current thread should have its identity included in each log message.By default ("
true
") the thread is logged at FINE or less level. This can be turned off ("false
") or on ("true
").Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
LOGGING_SESSION
Property "eclipselink.logging.session
" indicates if the session in use should have its identity included in each log message.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
LOGGING_CONNECTION
Property "eclipselink.logging.connection
" indicates if the connection in use should have its identity included in each log message.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
LOGGING_EXCEPTIONS
Property "eclipselink.logging.exceptions
" indicates if exception stack traces should be included in each log message.
By default stack trace is logged for SEVERE all the time and at FINER level for WARNING or less.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
LOGGING_FILE
The "eclipselink.logging.file
" property configures a file location where the log will be output to instead of standard out.- See Also:
-
MULTITENANT_PROPERTY_DEFAULT
The "eclipselink.tenant-id
" property specifies the default context property used to populate multitenant entities.NOTE: This is merely a default multitenant property than can be used on its own or with other properties defined by the user. Users are not obligated to use this property and are free to specify their own.
Persistence XML example:
<property name="eclipselink.tenant-id" value="Oracle" />
Java example:
props.put(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, "Oracle");
- See Also:
-
MULTITENANT_SCHEMA_PROPERTY_DEFAULT
The "eclipselink.tenant-schema-id
" property specifies the context property used to distinguish tenants when using global schema per tenant multitenant strategy. It is expected to be set by user when creating anEntityManager
.Persistence XML example:
<property name="eclipselink.tenant-schema-id" value="Oracle" />
Java example:
props.put(PersistenceUnitProperties.MULTITENANT_SCHEMA_PROPERTY_DEFAULT, "Oracle");
- See Also:
-
MULTITENANT_SHARED_CACHE
Property "eclipselink.multitenant.tenants-share-cache
" specifies that multitenant entities will share the L2 cache. By default this property is false meaning multitenant entities will have an ISOLATED setting. When setting it to true a PROTECTED cache setting will be used.WARNING: Queries that use the cache may return data from other tenants when using the PROTECTED setting.
Persistence XML example:
<property name="eclipselink.multitenant.tenants-share-cache" value="true" />
Java example:
props.put(PersistenceUnitProperties.MULTITENANT_SHARED_CACHE, true);
- See Also:
-
MULTITENANT_SHARED_EMF
Property "eclipselink.multitenant.shared-emf
" is used to indicate that multitenant entities will be used within a shared entity manager factory. This property defaults to "true
" (and applies to multitenant entities only). When setting it to "false
", users are required to provide a unique session name.Persistence XML example:
<property name="eclipselink.multitenant.tenants-share-emf" value=""true" />
Java example:
props.put(PersistenceUnitProperties.MULTITENANT_SHARED_EMF, true);
- See Also:
-
MULTITENANT_STRATEGY
The "eclipselink.multitenant.strategy
" property specifies the global, project wide multitenancy strategy.Allowed Values:
- "
external
" - the fully qualified name for a class that implements
MultitenantPolicy
interface with public no-arg constructor
Persistence XML example:
<property name="eclipselink.multitenant.strategy" value="external"/>
Java example:
props.put(PersistenceUnitProperties.MULTITENANT_STRATEGY, "external");
- See Also:
- "
-
TABLE_CREATION_SUFFIX
The "eclipselink.ddl.table-creation-suffix
" property is used in conjunction with DDL generation options to append a string to the end of generated CREATE Table statements.This value is applied to all Table creation statements through the DDL generation feature ie
<property name="eclipselink.ddl.table-creation-suffix" value="engine=InnoDB"/>
- See Also:
-
TARGET_DATABASE
The "eclipselink.target-database
" property configures the database that will be used controlling custom operations and SQL generation for the specified database.Default:
TargetDatabase.Auto
which means EclipseLink will try to automatically determine the correct database platform type.Note: "
eclipselink.target-database
" must be specified with a non-"Auto" class name or short name when "eclipselink.validation-only
" is set to "true
".Allowed Values:
- a short string value as defined in
TargetDatabase
- the fully qualified name for a class that extends
DatabasePlatform
abstract class
- See Also:
- a short string value as defined in
-
TARGET_DATABASE_PROPERTIES
The "eclipselink.target-database-properties
" property configures additional properties for the configured target-database.Allowed Values:
- A comma delimited key=value pairs (ie: key1=value1,key2=value2). Each key is expected to be a set[key_name] method on the configured target-database. The value must be the Stringified value to be passed into the set[key] method.
Note: Keys and values cannot contain '=' or ','
If an invalid property is located a ConversionException will be thrown.
Example : To change the value of DatabasePlatform.shouldBindLiterals via configuration, provide the following :
<property name="eclipselink.target-database-properties" value="shouldBindLiterals=true"/>
Example 2 : To change the value of DatabasePlatform.supportsReturnGeneratedKeys via configuration, provide the following :
<property name="eclipselink.target-database-properties" value="supportsReturnGeneratedKeys=true"/>
- See Also:
-
EXCLUDE_ECLIPSELINK_ORM_FILE
The "eclipselink.exclude-eclipselink-orm
" property configures the exclusion of an EclipseLink ORM mapping file for a specific persistence unit.By default the first file found at the resource name: "META-INF/eclipselink-orm.xml" is processed and overrides configurations specified in annotations, and standard mapping files.
- See Also:
-
SESSION_NAME
The "eclipselink.session-name
" property configures a specific name to use when storing the singleton server session within theSessionManager
.If a sessions-xml file is used this must be the name of the session in the sessions-xml file.
By default a unique session name is generated by EclipseLink, but the user can provide a customary session name - and make sure it's unique.
- See Also:
-
WEAVING
The "eclipselink.weaving
" property configures whether weaving should be performed. Weaving is required for lazy OneToOne, ManyToOne, Basic, attribute change tracking, fetch groups, and other optimizations.Allowed Values:
- Not Set - defaults to "
true
" in Java SE using javaagent and within EJB 3+ compliant containers - "
true
" - requires that weaving is done. Will throw an exception if entities are not woven - "
false
" - forces weaving not to be done - "
static
" - requires that the static weaving utility was used to weave the entities
static
".- See Also:
- Not Set - defaults to "
-
WEAVING_INTERNAL
The "eclipselink.weaving.internal
" property indicates whether internal optimizations should be enabled through weaving. Internal optimizations include caching of primary key and session, addition of a serialVersionUID if none exists, optimization of EclipseLink's cloning strategy and optimization of the way EclipseLink gets and sets values from fields mapped as Basic.This property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
WEAVING_LAZY
The "eclipselink.weaving.lazy
" property configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.This property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
WEAVING_EAGER
The "eclipselink.weaving.eager
" property configures whether EAGER mapping's attributes should be woven to use indirection.This property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
WEAVING_CHANGE_TRACKING
The "eclipselink.weaving.changetracking
" property configures whether AttributeLevelChangeTracking should be enabled through weaving. When this is enabled, only classes with all mappings allowing change tracking will have change tracking enabled. Mutable basic attributes will prevent this.This property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
WEAVING_FETCHGROUPS
The "eclipselink.weaving.fetchgroups
" property configures whether FetchGroup support should be enabled through weaving. When this is enabled, lazy direct mappings will be supported as well as descriptor and query level FetchGroups. FetchGroups allow partial objects to be read and written, access to un-fetched attributes will cause the object to be refreshed/fully-fetched.This property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
WEAVING_MAPPEDSUPERCLASS
The "eclipselink.weaving.mappedsuperclass
" property configures whetherMappedSuperclass
es with no direct sub-classes will be woven.This property will only be considered if weaving is enabled.
Allowed Values:
- "
true
" (DEFAULT) - "
false
"
- See Also:
- "
-
WEAVING_REST
The "eclipselink.weaving.rest
" property configures whether classes will be woven to support EclipseLink JPA_RS functionalityThis property will only be considered if weaving is enabled.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
TARGET_SERVER
The "eclipselink.target-server
" property configures theServerPlatform
that will be used to enable integration with a host container.Default:
TargetServer.None
Allowed Values:
- a short string value as defined in
TargetServer
class - this corresponds to server platforms currently supported - the fully qualified name for a class that implements
ServerPlatform
interface
ExternalTransactionController
setsCustomServerPlatform
with this controller.- See Also:
- a short string value as defined in
-
JTA_CONTROLLER
The "eclipselink.jta.controller
" property allows to override JTA transaction controller class ofServerPlatform
.Value of this property is a fully qualified name of a class that implements
ExternalTransactionController
interface.If both "
eclipselink.target-server
" and "eclipselink.jta.controller
" properties are set and contain classes implementingExternalTransactionController
interface, "eclipselink.target-server
" value is used.- See Also:
-
SCHEMA_GENERATION_DATABASE_ACTION
The "
jakarta.persistence.schema-generation.database.action
" property specifies the action to be taken by the persistence provider with regard to the database artifacts.The values for this property are "
EclipseLink also supports the "none
", "create
", "drop-and-create
", "drop
".create-or-extend-tables
" option.If the "
jakarta.persistence.schema-generation.database.action
" property is not specified, no schema generation actions must be taken on the database.- See Also:
-
SCHEMA_GENERATION_SCRIPTS_ACTION
The "
jakarta.persistence.schema-generation.scripts.action
" property specifies which scripts are to be generated by the persistence provider.The values for this property are "
none
", "create
", "drop-and-create
", "drop
".Scripts will only be generated if script targets are specified. If this property is not specified, no scripts will be generated.
- See Also:
-
SCHEMA_GENERATION_CREATE_SOURCE
The "
jakarta.persistence.schema-generation.create-source
" property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.The values for this property are "
metadata
", "script
", "metadata-then-script
", "script-then-metadata
".If this property is not specified, and a script is specified by the "
jakarta.persistence.schema-generation.create-script-source property
", the script (only) will be used for schema generation; otherwise if this property is not specified, schema generation will occur on the basis of the object/relational mapping metadata (only).The "
metadata-then-script
" and "script-then-metadata
" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and schema generation may fail.- See Also:
-
SCHEMA_GENERATION_DROP_SOURCE
The "
jakarta.persistence.schema-generation.drop-source
" property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.The values for this property are "
metadata
", "script
", "metadata-then-script
", "script-then-metadata
".If this property is not specified, and a script is specified by the "
jakarta.persistence.schema-generation.drop-script-source
" property, the script (only) will be used for the dropping of database artifacts; otherwise if this property is not specified, the dropping of database artifacts will occur on the basis of the object/relational mapping metadata (only).The "
metadata-then-script
" and "script-then-metadata
" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and the dropping of database artifacts may fail.- See Also:
-
SCHEMA_GENERATION_CREATE_DATABASE_SCHEMAS
In Java EE environments, it is anticipated that the Java EE platform provider may wish to control the creation of database schemas rather than delegate this task to the persistence provider.
The "
jakarta.persistence.schema-generation.create-database-schemas
" property specifies whether the persistence provider is to create the database schema(s) in addition to creating database objects such as tables, sequences, constraints, etc.The value of this boolean property should be set to true if the persistence provider is to create schemas in the database or to generate DDL that contains "
CREATE SCHEMA
" commands. If this property is not supplied, the provider should not attempt to create database schemas. This property may also be specified in Java SE environments.- See Also:
-
SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET
If scripts are to be generated, the target locations for the writing of these scripts must be specified.
The "
jakarta.persistence.schema-generation.scripts.create-target
" property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated.- See Also:
-
SCHEMA_GENERATION_SCRIPTS_DROP_TARGET
If scripts are to be generated, the target locations for the writing of these scripts must be specified.
The "
jakarta.persistence.schema-generation.scripts.drop-target
" property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated.- See Also:
-
SCHEMA_DATABASE_PRODUCT_NAME
If scripts are to be generated by the persistence provider and a connection to the target database is not supplied, the "
jakarta.persistence.database-product-name
" property must be specified.The value of this property should be the value returned for the target database by the JDBC DatabaseMetaData method getDatabaseProductName.
If sufficient database version information is not included in the result of this method, the "
jakarta.persistence.database-major-version
" and "jakarta.persistence.database-minor-version
" properties should be specified as needed. These should contain the values returned by the JDBC getDatabaseMajorVersion and getDatabaseMinor-Version methods respectively.- See Also:
-
SCHEMA_DATABASE_MAJOR_VERSION
If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "
jakarta.persistence.database-major-version
" property should be specified as needed. This should contain the value returned by the JDBC getDatabaseMajor-Version method.- See Also:
-
SCHEMA_DATABASE_MINOR_VERSION
If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "
jakarta.persistence.database-minor-version
" property should be specified as needed. This should contain the value returned by the JDBC getDatabaseMinor-Version method.- See Also:
-
SCHEMA_GENERATION_CREATE_SCRIPT_SOURCE
The "
jakarta.persistence.schema-generation.create-script-source
" is used for script execution.In Java EE container environments, it is generally expected that the container will be responsible for executing DDL scripts, although the container is permitted to delegate this task to the persistence provider.
If DDL scripts are to be used in Java SE environments or if the Java EE container delegates the execution of scripts to the persistence provider, this property must be specified.
The "
jakarta.persistence.schema-generation.create-script-source
" property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script.- See Also:
-
SCHEMA_GENERATION_DROP_SCRIPT_SOURCE
The "
jakarta.persistence.schema-generation.drop-script-source
" is used for script execution.In Java EE container environments, it is generally expected that the container will be responsible for executing DDL scripts, although the container is permitted to delegate this task to the persistence provider.
If DDL scripts are to be used in Java SE environments or if the Java EE container delegates the execution of scripts to the persistence provider, this property must be specified.
The "
jakarta.persistence.schema-generation.drop-script-source
" property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script.- See Also:
-
SCHEMA_GENERATION_CONNECTION
The "
jakarta.persistence.schema-generation.connection
" property specifies the JDBC connection to be used for schema generation. This is intended for use in Java EE environments, where the platform provider may want to control the database privileges that are available to the persistence provider.This connection is provided by the container, and should be closed by the container when the schema generation request or entity manager factory creation completes.
The connection provided must have credentials sufficient for the persistence provider to carry out the requested actions.
If this property is not specified, the persistence provider should use the DataSource that has otherwise been provided.
- See Also:
-
SCHEMA_GENERATION_SQL_LOAD_SCRIPT_SOURCE
In Java EE container environments, it is generally expected that the container will be responsible for executing data load scripts, although the container is permitted to delegate this task to the persistence provider. If a load script is to be used in Java SE environments or if the Java EE container delegates the execution of the load script to the persistence provider, this property must be specified.
The "
jakarta.persistence.sql-load-script-source
" property specifies a java.IO.Reader configured for reading of the SQL load script for database initialization or a string designating a file URL for the script.- See Also:
-
SCHEMA_GENERATION_CREATE_ACTION
The parameter value "create
"For use with the "
jakarta.persistence.schema-generation.database.action
" and "jakarta.persistence.schema-generation.scripts.action
" properties.Specifies that database tables should be created.
- See Also:
-
SCHEMA_GENERATION_DROP_AND_CREATE_ACTION
The parameter value "drop-and-create
"For use with the "
jakarta.persistence.schema-generation.database.action
" and "jakarta.persistence.schema-generation.scripts.action
" properties.Specifies that database tables should be dropped, then created.
- See Also:
-
SCHEMA_GENERATION_DROP_ACTION
The parameter value "drop
"For use with the "
jakarta.persistence.schema-generation.database.action
" and "jakarta.persistence.schema-generation.scripts.action
" properties.Specifies that database tables should be dropped.
- See Also:
-
SCHEMA_GENERATION_NONE_ACTION
The parameter value "none
"For use with the "
jakarta.persistence.schema-generation.database.action
" and "jakarta.persistence.schema-generation.scripts.action
" properties.Specifies that database tables should not be created or dropped.
- See Also:
-
SCHEMA_GENERATION_METADATA_SOURCE
The parameter value "metadata
"For use with the "
jakarta.persistence.schema-generation.create-source
" and "jakarta.persistence.schema-generation.drop-source
" properties.Specifies that DDL generation source will come from the metadata only.
- See Also:
-
SCHEMA_GENERATION_SCRIPT_SOURCE
The parameter value "script
"For use with the "
jakarta.persistence.schema-generation.create-source
" and "jakarta.persistence.schema-generation.drop-source
" properties.Specifies that DDL generation source will come from scripts only.
- See Also:
-
SCHEMA_GENERATION_METADATA_THEN_SCRIPT_SOURCE
The parameter value "metadata-then-script
"For use with the "
jakarta.persistence.schema-generation.create-source
" and "jakarta.persistence.schema-generation.drop-source
" properties.Specifies that DDL generation source will come from the metadata first followed with the scripts.
- See Also:
-
SCHEMA_GENERATION_SCRIPT_THEN_METADATA_SOURCE
The parameter value "script-then-metadata
"For use with the "
jakarta.persistence.schema-generation.create-source
" and "jakarta.persistence.schema-generation.drop-source
" properties.Specifies that DDL generation source will come from the scripts first followed with the metadata.
- See Also:
-
SCHEMA_GENERATION_SCRIPT_TERMINATE_STATEMENTS
When the "eclipselink.ddlgen-terminate-statements
" property is set to true and a DDL script is being generated, the value ofDatabasePlatform.getStoredProcedureTerminationToken()
is appended to the end of each statement.Allowed Values (String):
- "
false
" - (DEFAULT) Do not print line terminator characters - "
true
"
- See Also:
- "
-
SEQUENCING_SEQUENCE_DEFAULT
The "eclipselink.sequencing.default-sequence-to-table
" property determines the default behavior when a GeneratedValue of type SEQUENCE is used on a database platform that does not support SEQUENCE generation. By default IDENTITY generation is used if supported. If this property is set to true, then TABLE sequencing will be used instead.- See Also:
-
SEQUENCING_START_AT_NEXTVAL
By default, EclipseLink generates sequence values at (NEXTVAL - allocationSize). For instance, if NEXTVAL returns a value of 100 and the allocationSize is 50 (default), EclipseLink will begin sequence values at 100 - allocationSize. When the "eclipselink.sequencing.start-sequence-at-nextval
" property is set to true, the ID values generated from sequences starting at NEXTVAL and proceeding forward.Allowed Values (String):
- "
false
" - (DEFAULT) uses default behavior of next value - allocationSize - "
true
"
- See Also:
- "
-
SESSION_CUSTOMIZER
The "eclipselink.session.customizer
" property configures aSessionCustomizer
used to alter the runtime configuration through API.Session customizer is called after all other properties have been processed.
Allowed Values:
- the fully qualified name for a class that implements
SessionCustomizer
interface
- See Also:
- the fully qualified name for a class that implements
-
DESCRIPTOR_CUSTOMIZER_
The "eclipselink.descriptor.customizer.
" is a prefix for a property used to configure aDescriptorCustomizer
. Customization Prefix Property names formed out of this prefix by appending either entity name, or class name (indicating that the property values applies only to a particular entity) Allows descriptor customization.Only session customizer is called after processing these properties.
Allowed Values:
- the fully qualified name for a class that implements
DescriptorCustomizer
interface
- See Also:
- the fully qualified name for a class that implements
-
NATIVE_QUERY_UPPERCASE_COLUMNS
The "eclipselink.jdbc.uppercase-columns
" property configures native SQL queries are used, the JDBC meta-data may return column names in lower case on some platforms. If the column names are upper-case in the mappings (default) then they will not match. This setting allows for forcing the column names from the meta-data to upper-case.This setting has been replaced by
UPPERCASE_COLUMN_NAMES
, which should be used instead, as it ensure both sides use upper case for comparisons.Allowed Values:
- "
false
" - "
true
"
- See Also:
- "
-
UPPERCASE_COLUMN_NAMES
The "eclipselink.jpa.uppercase-column-names
" property configures JPA processing to uppercase all column name definitions. A value of "true
" also sets the "eclipselink.jdbc.uppercase-columns
" property to "true
", so that JDBC meta-data returned from the database is also returned in uppercase, ensuring fields are the same case. This gets around situations where user defined fields do not match the case returned by the database for native queries, simulating case insensitivity.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
BATCH_WRITING
The "eclipselink.jdbc.batch-writing
" property configures the use of batch writing to optimize transactions with multiple writes.Batch writing allows multiple heterogeneous dynamic SQL statements to be sent to the database as a single execution, or multiple homogeneous parameterized SQL statements to be executed as a single batch execution.
Note that not all JDBC drivers, or databases support batch writing.
Allowed Values:
- "
JDBC
" - use JDBC batch writing. - "
Buffered
" - do not use either JDBC batch writing nor native platform batch writing. - "
Oracle-JDBC
" - use Oracle's native batch writing. This requires the use of an Oracle JDBC driver. - "
None
" (DEFAULT): do not use batch writing (turn it off). - the fully qualified name for a class that extends
BatchWritingMechanism
abstract class
- See Also:
- "
-
BATCH_WRITING_SIZE
The "eclipselink.jdbc.batch-writing.size
" property configures the batch size used for batch writing. For parameterized batch writing this is the number of statements to batch, default 100. For dynamic batch writing, this is the size of the batched SQL buffer, default 32k.- See Also:
-
CDI_BEANMANAGER
The "jakarta.persistence.bean.manager
" property is used to set CDI BeanManager when available- See Also:
-
ECLIPSELINK_PERSISTENCE_XML
The "eclipselink.persistencexml
" property specifies the full resource name to look for the persistence XML files in. If not specified the default value defined byECLIPSELINK_PERSISTENCE_XML_DEFAULT
will be used.IMPORTANT: For now this property is used for the canonical model generator but it can later be used as a system property for customizing weaving and application bootstrap usage.
This property is only used by EclipseLink when it is locating the configuration file. When used within an EJB/Spring container in container managed mode the locating and reading of this file is done by the container and will not use this configuration.
- See Also:
-
ECLIPSELINK_SE_PUINFO
The "eclipselink.se-puinfo
" property specifies aorg.eclipse.persistence.internal.jpa.deployment.SEPersistenceUnitInfo
that is used create an EntityManagerFactory. That datastructure is used in liu of a persistence.xml.IMPORTANT: This property is only supported for use in testing.
- See Also:
-
ECLIPSELINK_PERSISTENCE_XML_DEFAULT
The default resource location used to locate the persistence.xml configuration files. Default: "META-INF/persistence.xml"- See Also:
-
ECLIPSELINK_PERSISTENCE_UNITS
This "eclipselink.persistenceunits
" property specifies the set of persistence unit names that will be processed when generating the canonical model. By default all persistence units available in all persistence XML files will be used. The value of this property is a comma separated list. When specifying multiple persistence units it is not possible to have persistence units with a comma in their name.Note: In the future this property can also be used to limit the persistence units that will be processed by the static or dynamic weaving.
- See Also:
-
EXCEPTION_HANDLER_CLASS
The "eclipselink.exception-handler
" property allows anExceptionHandler
to be specified. AnExceptionHandler
handles exceptions when they are thrown so that an application might address address expected failures and continue.- See Also:
-
INCLUDE_DESCRIPTOR_QUERIES
The "eclipselink.session.include.descriptor.queries
" property configures whether to enable the copying of all descriptor named queries to the session to be usable from the entity manager.Default: "
false
".- See Also:
-
SESSION_EVENT_LISTENER_CLASS
The "eclipselink.session-event-listener
" property configures a session event listener class.Use
SESSION_CUSTOMIZER
to configure multiple listeners using API.- See Also:
-
SESSIONS_XML
The "eclipselink.sessions-xml
" property configures the use of the specified native sessions.xml configuration file. When specified this file will load all of the session configuration and mapping information from the native XML. No JPA annotations or XML will be used.- See Also:
-
PROJECT_CACHE
The "eclipselink.project-cache
" property configures the type oforg.eclipse.persistence.jpa.metadata.ProjectCache
implementation to use to retrieve and store projects representing the metadata for the project.Allowed Values:
- "
java-serialization
" - useorg.eclipse.persistence.jpa.metadata.FileBasedProjectCache
- the fully qualified name for a class that implements
org.eclipse.persistence.jpa.metadata.ProjectCache
interface
- See Also:
- "
-
PROJECT_CACHE_FILE
The property "eclipselink.project-cache.java-serialization.file
" specifies the name of the file to read/write a serialized project representing the application's metadataSpecifies the name of the metadata repository xml file to read from using classloader to find the resource
This property should be used in conjunction with "
eclipselink.project-cache
" when a project is serialized to a file for caching.- See Also:
-
TEMPORAL_MUTABLE
The "eclipselink.temporal.mutable
" property configures the default for detecting changes to temporal field (Date, Calendar). Default "false
" (changes to date object itself are not detected). By default it is assumed that temporal fields are replaced, and the temporal object not changed directly. Enabling mutable temporal fields will cause weaving of attribute change tracking to be disabled.- See Also:
-
ALLOW_NATIVE_SQL_QUERIES
The "eclipselink.jdbc.allow-native-sql-queries
" property specifies whether any user defined SQL is allowed within a persistence unit. This is of particular importance within a multitenant to minimize the potential impact of revealing multi tenant information. By default any persistence unit containing at least one multitenant entity will cause this flag to be set to "false
".Allowed Values (String):
- "
false
" - do not allow native SQL. - "
true
" (DEFAULT) - allow native SQL
- See Also:
- "
-
ALLOW_ZERO_ID
Deprecated.replaced byID_VALIDATION
property with value "NULL
".The "eclipselink.allow-zero-id
" property configures if zero is considered a valid id on a new entity. If the id is not considered valid and sequencing is enabled for the entity a new value will be assigned when it is persisted to the database (INSERT). By default an id value of 0 is assumed to be null/unassigned. This allows 0 to be a valid id value. This can also be set per class using thePrimaryKey
annotation andIdValidation
.Caution: This property configures the static singleton on
Helper.isZeroValidPrimaryKey
which will be shared by all concurrent uses of EclipseLink.- See Also:
-
ID_VALIDATION
The "eclipselink.id-validation
" property defines which primary key components values are considered invalid. These values will be also overridden by sequencing. Note that Identity always overrides any existing id value and so does any sequence withSequence.shouldAlwaysOverrideExistingValue()
flag set to "true
".- See Also:
-
FLUSH_CLEAR_CACHE
The "eclipselink.flush-clear.cache
" property definesEntityManager
cache behavior after a call to flush method followed by a call to clear method. This property could be specified while creating eitherEntityManagerFactory
(either in the map passed to createEntityManagerFactory method or in persistence.xml) or EntityManager (in the map passed to createEntityManager method); the latter overrides the former.- See Also:
-
CLASSLOADER
The "eclipselink.classloader
" property specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.- See Also:
-
THROW_EXCEPTIONS
The "eclipselink.orm.throw.exceptions
" property specifies if the first exception that occurs during deployment should be thrown, or if all exceptions should be caught and summary thrown at end of deployment attempt.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
ORM_SCHEMA_VALIDATION
The "eclipselink.orm.validate.schema
" property set on the session is used to override orm.xml schema validation from its default of "false
".- See Also:
-
DEPLOY_ON_STARTUP
The "eclipselink.deploy-on-startup
" property controls whether EclipseLink creates the persistence unit when the application starts up, or when the persistence unit is first actually accessed by the application.Setting this to "
true
" causes the persistence unit to be created when the EntityManagerFactory is created, usually during deployment to a Java EE 7 container or servlet container. Enabling this option may increase startup time of the container/server, but will prevent the first request to the application from pausing while the persistence unit is deployed.When this property is set to "
false
" the persistence unit is not initialized until the first EntityManager is created or until metadata is requested from the EntityManagerFactory.When set to "
false
", there is a known issue with Fields of static metamodel classes ("Entity_" classes) beingnull
until the persistence unit is initialized. This behaviour won't affect applications unless they use the static metamodel feature. (See bug 383199)Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
VALIDATION_ONLY_PROPERTY
The "eclipselink.validation-only
" property validates deployment which includes initializing descriptors but does not connect (no login to the database).Note: "
eclipselink.target-database
" must be specified with a non-"Auto" class name or short name when "eclipselink.validation-only
" is set to "true
".Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
DDL_GENERATION
The "eclipselink.ddl-generation
" property allows the database schema to be generated on deployment.Allowed Values:
- "
drop-tables
" -DROP_ONLY
- "
create-tables
" -CREATE_ONLY
- "
drop-and-create-tables
" -DROP_AND_CREATE
- "
create-or-extend-tables
" -CREATE_OR_EXTEND
- "
none
" -NONE
(DEFAULT)
- See Also:
- "
-
CREATE_ONLY
The parameter value "create-tables
" specifies that database tables should be created.For use with the "
eclipselink.ddl-generation
" property.- See Also:
-
DROP_ONLY
The parameter value "drop-tables
" specifies that database tables should be dropped only.For use with the "
eclipselink.ddl-generation
" property.- See Also:
-
DROP_AND_CREATE
The parameter value "drop-and-create-tables
" specifies that database tables should be dropped, then created.For use with the "
eclipselink.ddl-generation
" property.- See Also:
-
CREATE_OR_EXTEND
The parameter value "create-or-extend-tables
" specifies that database tables should be created and if existing, missing columns will be added.For use with the "
eclipselink.ddl-generation
" property.Note this can only be used with "
eclipselink.ddl-generation.output-mode
" with value of "database
".- See Also:
-
NONE
The parameter value "none
" specifies that database tables should not be created or dropped.For use with the "
eclipselink.ddl-generation
" property, and is the default parameter value.- See Also:
-
METADATA_SOURCE
The "eclipselink.metadata-source
"property configures the type of MetadataSource implementation to use to read MetadataAllowed Values:
- "
XML
" - useorg.eclipse.persistence.jpa.metadata.XMLMetadataSource
- the fully qualified name for a class that implements
org.eclipse.persistence.jpa.metadata.MetadataSource
interface
- See Also:
- "
-
METADATA_SOURCE_RCM_COMMAND
The "eclipselink.metadata-source.send-refresh-command
" property works with cache coordination for a clustered environment to. If cache coordination is configured and the session is deployed on startup, this property controls the sending of RCM refresh metadata commands to the cluster. These commands will cause the remote instances to refresh their metadata.Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
METADATA_SOURCE_XML_FILE
The property "eclipselink.metadata-source.xml.file
" specifies the name of the metadata repository xml file to read from using classloader to find the resourceThis property should be used in conjunction with the "
eclipselink.metadata-repository
" when an XML repository is being used.- See Also:
-
METADATA_SOURCE_XML_URL
The property "eclipselink.metadata-source.xml.URL
" specifies the name of the metadata repository xml URL to read from.This property should be used in conjunction with the "
eclipselink.metadata-repository
" when an XML repository is being used.- See Also:
-
METADATA_SOURCE_PROPERTIES_FILE
The property "eclipselink.metadata-source.properties.file
" specifies the name of the metadata repository properties file to read from using classloader to find the resource.- See Also:
-
APP_LOCATION
The property "eclipselink.application-location
" specifies the file system directory location where DDL files are written (output) to.This property should be used in conjunction with the "
eclipselink.ddl-generation.output-mode
" property, with a setting of "sql-script
" (or "both
") for DDL file(s) to be written.- See Also:
-
CREATE_JDBC_DDL_FILE
The property "eclipselink.create-ddl-jdbc-file-name
" specifies the name of the DDL file which is used to create database tables.This property should be used in conjunction with the "
eclipselink.application-location
" property to specify a location on the file system for DDL file(s) to be written.- See Also:
-
DROP_JDBC_DDL_FILE
The property "eclipselink.drop-ddl-jdbc-file-name
" specifies the name of the DDL file which is used to drop database tables.This property should be used in conjunction with the "
eclipselink.application-location
" property to specify a location on the file system for DDL file(s) to be written.- See Also:
-
DEFAULT_APP_LOCATION
The default location in the file system to output DDL files.Defaults to: the working directory.
- See Also:
-
DEFAULT_CREATE_JDBC_FILE_NAME
The default name of the DDL file which is used to create database tables.Defaults to:
createDDL.jdbc
- See Also:
-
DEFAULT_DROP_JDBC_FILE_NAME
The default name of the DDL file which is used to drop database tables.Defaults to:
dropDDL.jdbc
- See Also:
-
JAVASE_DB_INTERACTION
The system property "INTERACT_WITH_DB
" specifies to enable or disable the execution of DDL (configured with the "eclipselink.ddl-generation
" property) against a database.e.g. a command line setting of
-DINTERACT_WITH_DB=false
will not output DDL to the database.Allowed Values:
- "
false
" - do not output DDL to the database - "
true
" - output DDL to the database
- See Also:
- "
-
DDL_GENERATION_MODE
The "eclipselink.ddl-generation.output-mode
" property specifies if database schema should be generated on the database, to a file, or both.Note DDL_GENERATION must also be set, for this to have an effect.
Allowed Values:
- "
database
" -DDL_DATABASE_GENERATION
(DEFAULT) - "
sql-script
" -DDL_SQL_SCRIPT_GENERATION
- "
both
" -DDL_BOTH_GENERATION
- See Also:
- "
-
DDL_GENERATION_INDEX_FOREIGN_KEYS
The "eclipselink.ddl-generation.index-foreign-keys
" property specifies if an index should be automatically generated for foreign key constraints. It is normally recommended to have an index for a foreign key.By default indexes are not generated, most database also do not auto generate indexes, although some do.
Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
DDL_SQL_SCRIPT_GENERATION
The parameter value "sql-script
" specifies that DDL will be written to file(s).For use with the "
eclipselink.ddl-generation.output-mode
" property.- See Also:
-
DDL_DATABASE_GENERATION
The parameter value "database
" specifies that DDL will be written to the database.For use with the "
eclipselink.ddl-generation.output-mode
" property, and is the default parameter value- See Also:
-
DDL_BOTH_GENERATION
The parameter value "both
" specifies that DDL will be written to file(s) and the database.For use with the "
eclipselink.ddl-generation.output-mode
" property.- See Also:
-
DEFAULT_DDL_GENERATION_MODE
Theeclipselink.ddl-generation.output-mode
parameter is configured to the default value ofdatabase
.- See Also:
-
VALIDATE_EXISTENCE
The "eclipselink.validate-existence
" property configures if the existence of an object should be verified on persist(), otherwise it will assume to be new if not in the persistence context. If checked and existing and not in the persistence context and error will be thrown.Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
ORDER_UPDATES
Deprecated.as of EclipseLink 2.6 replaced byPERSISTENCE_CONTEXT_COMMIT_ORDER
The "eclipselink.order-updates
" property configures if updates should be ordered by primary key.This can be used to avoid possible database deadlocks from concurrent threads updating the same objects in a different order. If not set to true, the order of updates is not guaranteed.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
PERSISTENCE_CONTEXT_COMMIT_ORDER
The "eclipselink.persistence-context.commit-order
" property defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation. The commit order of entities is defined by their foreign key constraints, and then sorted alphabetically.By default the commit of a set of the same entity type is ordered by its Id.
Entity type commit order can be modified using a
DescriptorCustomizer
and theClassDescriptor.addConstraintDependency(Class)
API. Commit order can also be controlled using theEntityManager.flush()
API.Allowed Values:
- "
Id
" (DEFAULT) - updates and deletes are ordered by the object's id. This can help avoid deadlocks on highly concurrent systems. - "
Changes
" - updates are ordered by the object's changes, then by id. This can improve batch writing efficiency. - "
None
" - no ordering is done.
- See Also:
- "
-
PROFILER
The "eclipselink.profiler
" property configures the type of profiler used to capture runtime statistics.Allowed Values:
- "
NoProfiler
" (DEFAULT) - "
PerformanceMonitor
" - usePerformanceMonitor
- "
PerformanceProfiler
" - usePerformanceProfiler
- "
QueryMonitor
" - useQueryMonitor
- "
DMSProfiler
" - useorg.eclipse.persistence.tools.profiler.oracle.DMSPerformanceProfiler
- the fully qualified name for a class that implements
SessionProfiler
interface
- See Also:
- "
-
TUNING
The "eclipselink.tuning
"property configures the type of tuner to use to configure the persistence unit.A
SessionTuner
can be used to define a template for a persistence unit configuration. It allows a set of configuration values to be configured as a single tuning option.Allowed Values:
- "
Standard
" (DEFAULT) - "
Safe
" - seeSafeModeTuner
- Custom tuner - specify a full class name of an implementation of
SessionTuner
- See Also:
- "
-
FREE_METADATA
The "eclipselink.memory.free-metadata
" property configures the JPA internal deployment metadata to be released after deployment. This conserves memory, as the metadata is no longer required, but make future deployments of any other application take longer, as the metadata must be re-allocated.Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
JOIN_EXISTING_TRANSACTION
The "eclipselink.transaction.join-existing
" property set to "true
" forces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.Note that if the property set to "
true
" then objects read during transaction won't be placed into the shared cache unless they have been updated.The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
PERSISTENCE_CONTEXT_REFERENCE_MODE
The "eclipselink.persistence-context.reference-mode
" property configures whether there should be hard or soft references used within the Persistence Context. Default is "HARD
". With soft references entities no longer referenced by the application may be garbage collected freeing resources. Any changes that have not been flushed in these entities will be lost.The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
Allowed Values:
- "
HARD
" (DEFAULT) -ReferenceMode.HARD
- "
WEAK
" -ReferenceMode.WEAK
- "
FORCE_WEAK
" -ReferenceMode.FORCE_WEAK
- See Also:
- "
-
PESSIMISTIC_LOCK_TIMEOUT
The "jakarta.persistence.lock.timeout
" property configures the WAIT timeout used in pessimistic locking, if the database query exceeds the timeout the database will terminate the query and return an exception.Allowed Values:
- a string containing a zero or greater integer value
- See Also:
-
PESSIMISTIC_LOCK_TIMEOUT_UNIT
The "eclipselink.pessimistic.lock.timeout.unit
" property configures the query timeout unit value. Allows users more refinement. Used in combination with PersistenceUnitProperties.PESSIMISTIC_LOCK_TIMEOUTAllowed Values:
- "
java.util.concurrent.TimeUnit.MILLISECONDS
" (DEFAULT), - "
java.util.concurrent.TimeUnit.SECONDS
", - "
java.util.concurrent.TimeUnit.MINUTES
".
- See Also:
- "
-
QUERY_TIMEOUT
The "jakarta.persistence.query.timeout
" property configures the default query timeout value. Defaults to milliseconds, but is configurable with PersistenceUnitProperties.QUERY_TIMEOUT_UNITAllowed Values:
- a string containing a zero or greater integer value
- See Also:
-
QUERY_TIMEOUT_UNIT
The "eclipselink.query.timeout.unit
" property configures the query timeout unit value. Allows users more refinement. Used in combination with PersistenceUnitProperties.QUERY_TIMEOUTAllowed Values:
- "
java.util.concurrent.TimeUnit.MILLISECONDS
" (DEFAULT), - "
java.util.concurrent.TimeUnit.SECONDS
", - "
java.util.concurrent.TimeUnit.MINUTES
".
- See Also:
- "
-
PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT
The "eclipselink.persistence-context.close-on-commit
" property specifies that the EntityManager will be closed or not used after commit (not extended). In general this is normally always the case for a container managed EntityManager, and common for application managed. This can be used to avoid additional performance overhead of resuming the persistence context after a commit().The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT
The "eclipselink.persistence-context.persist-on-commit
" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are cascade persist. This can be used to avoid the cost of performing this search if persist is always used for new objects.The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
Allowed Values:
- "
false
" - "
true
" (DEFAULT)
- See Also:
- "
-
PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES
The "eclipselink.persistence-context.commit-without-persist-rules
" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are found ignoring any absence of CascadeType.PERSIST settings. Also the Entity life-cycle Persist operation will not be cascaded to related entities. This setting replicates the traditional EclipseLink native functionality.Allowed Values:
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
PERSISTENCE_CONTEXT_FLUSH_MODE
The "eclipselink.persistence-context.flush-mode
" property configures the EntityManager FlushMode to be set as a persistence property. This can be set to either "AUTO
" or "COMMIT
".By default the flush mode is "
AUTO
", which requires an automatic flush before all query execution. This can be used to avoid any flushing until commit.The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
- See Also:
-
ORACLE_PROXY_TYPE
The "eclipselink.oracle.proxy-type
" property is used to specify proxy type that should be passed to OracleConnection.openProxySession method. Requires Oracle JDBC version 10.1.0.2 or later. Requires Oracle9Platform or later as a database platform (TARGET_DATABASE property value should be TargetDatabase.Oracle9 or later).Values:
- oracle.jdbc.OracleConnection.PROXYTYPE_USER_NAME,
- oracle.jdbc.OracleConnection.PROXYTYPE_DISTINGUISHED_NAME,
- oracle.jdbc.OracleConnection.PROXYTYPE_CERTIFICATE.
Property values corresponding to the specified type should be also provided:
- oracle.jdbc.OracleConnection.PROXY_USER_NAME,
- oracle.jdbc.OracleConnection.PROXY_DISTINGUISHED_NAME,
- oracle.jdbc.OracleConnection.PROXY_CERTIFICATE.
Typically these properties should be set into EntityManager (either through createEntityManager method or using proprietary setProperties method on EntityManagerImpl) - that causes EntityManager to use proxy connection for writing and reading inside transaction. If proxy-type and the corresponding proxy property set into EntityManagerFactory then all connections created by the factory will be proxy connections.
- See Also:
-
COORDINATION_PROTOCOL
The "eclipselink.cache.coordination.protocol
" property configures cache coordination for a clustered environment. This needs to be set on every persistence unit/session in the cluster. Depending on the cache configuration for each descriptor, this will broadcast cache updates or inserts to the cluster to update or invalidate each session's cache.Default: the cache is not coordinated.
Allowed Values:
- "
jms
" - "
jms-publishing
" - "
rmi
" - "
rmi-iiop
" - "
jgroups
" - the fully qualified name for a class that extends
TransportManager
abstract class.
- See Also:
- "
-
COORDINATION_JGROUPS_CONFIG
The "eclipselink.cache.coordination.jgroups.config
" property configures cache coordination for a clustered environment.Only used for JGroups coordination.
Sets the JGroups config XML file location.
If not set the default JGroups config will be used.- See Also:
-
COORDINATION_JMS_HOST
The "eclipselink.cache.coordination.jms.host
" property configures cache coordination for a clustered environment.Only used for JMS coordination.
Sets the URL for the JMS server hosting the topic.
This is not required in the topic is distributed across the cluster (can be looked up in local JNDI).- See Also:
-
COORDINATION_JMS_TOPIC
The "eclipselink.cache.coordination.jms.topic
" property configures cache coordination for a clustered environment.Only used for JMS coordination.
Sets the JMS topic name.
The default topic JNDI name is "jms/EclipseLinkTopic
".- See Also:
-
COORDINATION_JMS_FACTORY
The "eclipselink.cache.coordination.jms.factory
" property configures cache coordination for a clustered environment.Only used for JMS coordination.
Sets the JMS topic connection factory name.
The default topic connection factory JNDI name is "jms/EclipseLinkTopicConnectionFactory
".- See Also:
-
COORDINATION_JMS_REUSE_PUBLISHER
The "eclipselink.cache.coordination.jms.reuse-topic-publisher
" property configures cache coordination for a clustered environment.Only used for JMS coordination.
Sets the JSM transport manager to cache a TopicPublisher and reuse it for all cache coordination publishing.
Default value if unset is false.- See Also:
-
COORDINATION_RMI_ANNOUNCEMENT_DELAY
The "eclipselink.cache.coordination.rmi.announcement-delay
" property configures cache coordination for a clustered environment.Only used for RMI coordination.
Sets the number of milliseconds to wait for announcements from other cluster members on startup.
Default is 1000 milliseconds.- See Also:
-
COORDINATION_RMI_MULTICAST_GROUP
The "eclipselink.cache.coordination.rmi.multicast-group
" property configures cache coordination for a clustered environment.Only used for RMI coordination.
Sets the multicast socket group address. The multicast group is used to find other members of the cluster.
The default address is 239.192.0.0.- See Also:
-
COORDINATION_RMI_MULTICAST_GROUP_PORT
The "eclipselink.cache.coordination.rmi.multicast-group.port
" property configures cache coordination for a clustered environment.Only used for RMI coordination.
Sets the multicast socket group port. The multicast group port is used to find other members of the cluster.
The default port is 3121.- See Also:
-
COORDINATION_RMI_PACKET_TIME_TO_LIVE
The "eclipselink.cache.coordination.rmi.packet-time-to-live
" property configures cache coordination for a clustered environment.Only used for RMI coordination.
Sets the multicast socket packet time to live.
The multicast group is used to find other members of the cluster. Set the number of hops the data packets of the session announcement will take before expiring.
The default is 2, a hub and an interface card to prevent the data packets from leaving the local network.Note that if sessions are hosted on different LANs that are part of WAN, the announcement sending by one session may not reach other sessions. In this case, consult your network administrator for the right time-to-live value or test your network by increase the value until sessions receive announcement sent by others.
- See Also:
-
COORDINATION_RMI_URL
The "eclipselink.cache.coordination.rmi.url
" property configures cache coordination for a clustered environment.Only used for RMI coordination.
Sets the URL of the host server.
This is the URL that other cluster member should use to connect to this host. This may not be required in a clustered environment where JNDI is replicated.
This can also be set as a System property or using aSessionCustomizer
to avoid a separate persistence.xml per server.- See Also:
-
COORDINATION_NAMING_SERVICE
The "eclipselink.cache.coordination.naming-service
" property configures cache coordination for a clustered environment.Set the naming service to use, either "jndi" or "rmi".
Allowed Values:
- "
jndi
" - "
rmi
"
- See Also:
- "
-
COORDINATION_JNDI_USER
The "eclipselink.cache.coordination.jndi.user
" property configures cache coordination for a clustered environment.Set the JNDI naming service user name.
This is not normally require if connecting to the local server.- See Also:
-
COORDINATION_JNDI_PASSWORD
The "eclipselink.cache.coordination.jndi.password
" property configures cache coordination for a clustered environment.Set the JNDI naming service user name.
This is not normally require if connecting to the local server.- See Also:
-
COORDINATION_JNDI_CONTEXT
The "eclipselink.cache.coordination.jndi.initial-context-factory
" property configures cache coordination for a clustered environment.Set the JNDI InitialContext factory.
This is not normally require if connecting to the local server.- See Also:
-
COORDINATION_REMOVE_CONNECTION
The "eclipselink.cache.coordination.remove-connection-on-error
" property configures cache coordination for a clustered environment.Set if the connection should be removed if a communication error occurs when coordinating with it.
This is normally used for RMI coordination in case a server goes down (it will reconnect when it comes back up).- See Also:
-
COORDINATION_ASYNCH
The "eclipselink.cache.coordination.propagate-asynchronously
" property configures cache coordination for a clustered environment.Set if the coordination broadcast should occur asynchronously with the committing thread. This means the coordination will be complete before the thread returns from the commit of the transaction.
Note that JMS is always asynchronous. By default RMI is asynchronous.- See Also:
-
COORDINATION_THREAD_POOL_SIZE
The "eclipselink.cache.coordination.thread.pool.size
" property configures thread pool size for cache coordination threads.RMI cache coordination will spawn one thread per node to send change notifications. RMI also spawns a thread to listen for new node notifications.
JMS cache coordination will spawn one thread to receive JMS change notification messages (unless MDB is used). JMS also spawns a thread to process the change notificaiton (unless MDB is used).
The default size is 32 threads.
A size of 0 indicates no thread pool should be used, and threads will be spawned when required.
- See Also:
-
COORDINATION_SERIALIZER
The "eclipselink.cache.coordination.serializer
" property configures how cache coordination serializes message sent between nodes.By default Java serialization is used. Other serializer can be used for improved performance or integration with other systems.
The full class name of the serializer class should be provided.
- See Also:
-
COORDINATION_CHANNEL
The "eclipselink.cache.coordination.channel
" property configures cache coordination for a clustered environment.Set the channel for this cluster. All server's in the same channel will be coordinated.
The default channel name is "EclipseLinkCommandChannel
".
If multiple EclipseLink deployment reside on the same network, they should use different channels.- See Also:
-
COMPOSITE_UNIT
The "eclipselink.composite-unit
" property indicates if it's a composite persistence unit ("true
").The property must be specified in persistence.xml of a composite persistence unit. The property passed to createEntityManagerFactory method or in system properties is ignored.
Composite persistence unit would contain all persistence units found in jar files specified by
<jar-file>
elements in persistence.xml.Persistence XML example:
<jar-file>member1.jar</jar-file> <jar-file>member2.jar</jar-file> <properties> <property name="eclipselink.composite-unit" value="true"/> </properties>
- See Also:
-
COMPOSITE_UNIT_MEMBER
The "eclipselink.composite-unit.member
" property indicates if the persistence unit must be a member of a composite persistence unit ("true
"), can't be used as an independent persistence unit. That happens if persistence unit has dependencies on other persistence unit(s).The property may be specified in persistence.xml. The property passed to createEntityManagerFactory method or in system properties is ignored.
If this property is set to "
true
", EntityManagerFactory still could be created, but it can't be connected: an attempt to create entity manager would cause an exception.- See Also:
-
COMPOSITE_UNIT_PROPERTIES
The "eclipselink.composite-unit.properties
" property may be passed to createEntityManagerFactory method of a composite persistence unit to pass properties to member persistence units.The value is a map:
the key is a member persistence unit's name,
the value is a map of properties to be passed to this persistence unit."eclipselink.composite-unit.properties" -> ( ("memberPu1" -> ( "jakarta.persistence.jdbc.user" -> "user1", "jakarta.persistence.jdbc.password" -> "password1", "jakarta.persistence.jdbc.driver" -> "oracle.jdbc.OracleDriver", "jakarta.persistence.jdbc.url" -> "jdbc:oracle:thin:@oracle_db_url:1521:db" ), ("memberPu2" -> ( "jakarta.persistence.jdbc.user" -> "user2", "jakarta.persistence.jdbc.password" -> "password2", "jakarta.persistence.jdbc.driver" -> "com.mysql.jdbc.Driver", "jakarta.persistence.jdbc.url" -> "jdbc:mysql://my_sql_db_url:3306/user2" ) )
- See Also:
-
REMOTE_PROTOCOL
The "eclipselink.remote.protocol
" property configures remote JPA for a client or server. This allows JPA to be access over RMI or other protocol from a remote Java client.Allowed Values:
- "
rmi
" - the fully qualified name for a class that extends
RemoteConnection
abstract class
- See Also:
- "
-
REMOTE_URL
The "eclipselink.remote.client.url
" property configures remote JPA for a client. This allows JPA to be access over RMI or other protocol from a remote Java client.The URL is the complete URL used to access the RMI server.
- See Also:
-
REMOTE_SERVER_NAME
The "eclipselink.remote.server.name
" property configures remote JPA for a server. This allows JPA to be access over RMI or other protocol from a remote Java client.The name is the name the server will be registered under in the RMI registry.
- See Also:
-
NOSQL_CONNECTION_SPEC
The "eclipselink.nosql.connection-spec
" property allows the connection information for an NoSQL or EIS datasource to be specified.An NoSQL datasource is a non-relational datasource such as a legacy database, NoSQL database, XML database, transactional and messaging systems, or ERP systems.
- See Also:
-
NOSQL_CONNECTION_FACTORY
The "eclipselink.nosql.connection-factory
" property allows the JCA ConnectionFactory to be specified for a NoSQL or EIS adapter.An NoSQL datasource is a non-relational datasource such as a legacy database, NoSQL database, XML database, transactional and messaging systems, or ERP systems.
- See Also:
-
NOSQL_PROPERTY
The "eclipselink.nosql.property.
" property prefix allows setting NoSQL connection properties. The NoSQL specific property name should be appended to this prefix.i.e. "eclipselink.nosql.property.nosql.host"="localhost:5000"
- See Also:
-
NOSQL_USER
The "eclipselink.nosql.property.user
" property specifies user name for NoSQL connection.
Note that "jakarta.persistence.jdbc.user
" is also supported.- See Also:
-
NOSQL_PASSWORD
The "eclipselink.nosql.property.password
" property specifies password for NoSQL connection.
Note that "jakarta.persistence.jdbc.password
" is also supported.- See Also:
-
JDBC_CONNECTOR
The "eclipselink.jdbc.connector
" property.
Allows a custom connector to be used to define how to connect to the database. This is not required if a DataSource or JDBC DriverManager is used. It can be used to connect to a non standard connection pool, or provide additional customization in how a connection is obtained.- See Also:
-
JDBC_PROPERTY
The "eclipselink.jdbc.property.
" property allows passing of JDBC driver specific connection properties. This allows for properties to be set on the JDBC connection. The JDBC driver specific property name should be appended to this prefix.i.e.
"eclipselink.jdbc.property.defaultRowPrefetch"="25"- See Also:
-
JDBC_RESULT_SET_ACCESS_OPTIMIZATION
The "eclipselink.jdbc.result-set-access-optimization
" property allows to set whether a query should by default use ResultSet Access optimization.The optimization allows to avoid getting objects from ResultSet if the cached object used. For instance, SELECT id, blob FROM .. with optimization would extract only "id" from ResultSet, and if there is a corresponding cached object and it's not a refresh query, "blob" would never be extracted. The draw back is keeping ResultSet and connection longer: until objects are built (or extracted from cache) for all rows and all eager references (direct and nested) for each row. Note that the optimization would not be used if it contradicts other query settings.
Allowed Values (String):
- "
false
" - don't use optimization - "
true
" - use optimization
Default value is
ObjectLevelReadQuery.isResultSetAccessOptimizedQueryDefault = false;
- See Also:
- "
-
SERIALIZER
The "eclipselink.serializer
" property specifies class name for session serializer (must implementSerializer
)Default value is "
org.eclipse.persistence.sessions.serializers.JavaSerializer
"- See Also:
-
JPQL_TOLERATE
The "eclipselink.tolerate-invalid-jpql
" property allows anEntityManager
to be created even in the event that an application has invalid JPQL statements declared in annotations or xml.Allowed Values (String):
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
USE_LOCAL_TIMESTAMP
The "eclipselink.locking.timestamp.local
" property defines if locking policies should default to local time(true) or server time(false).Allowed Values (String):
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
SQL_CALL_DEFERRAL
The "eclipselink.jpa.sqlcall.deferral.default
" property defines if SQL calls should be deferred to end of transaction by default or not. When setting this property tofalse
, the application assumes the responsibility of ordering the SQL statements and must therefore be aware of any interdependencies between entities.Allowed Values (String):
- "
true
" (DEFAULT) - "
false
"
- See Also:
- "
-
NAMING_INTO_INDEXED
The "eclipselink.jpa.naming_into_indexed
" property defines if stored procedure parameters passed by name should be transformed into positional/index based passing if property value will betrue
. e.g. For stored procedure:CREATE PROCEDURE test_stored_proc1( IN param1 TEXT, IN param2 INTEGER )
following Java callquery.registerStoredProcedureParameter( "param1",Integer.class,ParameterMode.IN );
query.registerStoredProcedureParameter( "param2",String.class,ParameterMode.IN );
will be transformed into following e.g.{call test_stored_proc1(10, 'abcd')}
instead of default{call test_stored_proc1(param1 => 10, param2 => 'abcd')}
It's important to register parameters in Java in a same order as they specified in the stored procedure. This code was added there to ensure backward compatibility with older EclipseLink releases.Allowed Values (String):
- "
false
" (DEFAULT) - "
true
"
- See Also:
- "
-
CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how much time loop wait before it try acquire lock for current thread again. It value is set above above 0 dead lock detection mechanism and related extended logging will be activated. Default value is 0 (unit is ms). Allowed values are: long- See Also:
-
CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how much time ConcurrencyManager will wait before it will identify, that thread which builds new object/entity instance should be identified as a potential dead lock source. It leads into some additional log messages. Default value is 0 (unit is ms). In this case extended logging is not active. Allowed values are: long- See Also:
-
CONCURRENCY_MANAGER_MAX_SLEEP_TIME
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how long we are willing to wait before firing up an exception Default value is 40000 (unit is ms). Allowed values are: long- See Also:
-
CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil. It control how frequently the tiny dump log message is created. Default value is 40000 (unit is ms). Allowed values are: long- See Also:
-
CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE
This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil. It control how frequently the massive dump log message is created. Default value is 60000 (unit is ms). Allowed values are: long- See Also:
-
CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION
This property control (enable/disable) if
InterruptedException
fired when dead-lock diagnostic is enabled.Allowed Values (case sensitive String):
- "
false
" - if aborting frozen thread is not effective it is preferable to not fire the interrupted exception let the system In the places where use this property normally if a thread is stuck it is because it is doing object building. Blowing the threads ups is not that dangerous. It can be very dangerous for production if the dead lock ends up not being resolved because the productive business transactions will become cancelled if the application has a limited number of retries to for example process an MDB. However, the code spots where we use this constant are not as sensible as when the write lock manager is starving to run commit. - "
true
" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired locks and allow other threads to progress.
- See Also:
- "
-
CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION
This property control (enable/disable) if
ConcurrencyException
fired when dead-lock diagnostic is enabled.Allowed Values (case sensitive String):
- "
false
" - if aborting frozen thread is not effective it is preferable to not fire the concurrency exception let the system freeze and die and force the administration to kill the server. This is preferable to aborting the transactions multiple times without success in resolving the dead lock and having business critical messages that after 3 JMS retries are discarded out. Failing to resolve a dead lock can have terrible impact in system recovery unless we have infinite retries for the business transactions. - "
true
" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired locks and allow other threads to progress.
- See Also:
- "
-
CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK
This property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.
Allowed Values (case sensitive String):
- "
false
" (DEFAULT) - don't collect debug/trace information during ReadLock acquisition - "
true
" - collect debug/trace information during ReadLock acquisition. Has negative impact to the performance.
- See Also:
- "
-
CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING
This property control (enable/disable) semaphore in
Object building seeObjectBuilder
ObjectBuilder
could be one of the primary sources pressure on concurrency manager. Most of the cache key acquisition and releasing is taking place during object building. Enabletrue
this property to try reduce the likelihood of having dead locks is to allow less threads to start object building in parallel. In this case there should be negative impact to the performance. Note: Parallel access to the same entity/entity tree from different threads is not recommended technique in EclipseLink.- "
true
" - means we want to override vanilla behavior and use a semaphore to not allow too many threads in parallel to do object building - "
false
" (DEFAULT) - means just go ahead and try to build the object without any semaphore (false is vanilla behavior).
- See Also:
- "
-
CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS
public static final String CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKSThis property control (enable/disable) semaphore in
This algorithmWriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
is being used when a transaction is committing and it is acquire locks to merge the change set. It should happen if algorithm has trouble when multiple threads report change sets on the same entity (e.g. one-to-many relations of master detail being enriched with more details on this master). Note: Parallel access to the same entity/entity tree from different threads is not recommended technique in EclipseLink.- "
true
" - means we want to override vanilla behavior and use a semaphore to not allow too many threads. In this case there should be negative impact to the performance. - "
false
" (DEFAULT) - means just go ahead and try to build the object without any semaphore (false is vanilla behavior).
- See Also:
- "
-
CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS
This property control number of threads in semaphore in
ObjectBuilder
If "eclipselink.concurrency.manager.object.building.semaphore" property istrue
default value is 10. Allowed values are: int If "eclipselink.concurrency.manager.object.building.semaphore" property isfalse
(DEFAULT) number of threads is unlimited.- See Also:
-
CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS
This property control number of threads in semaphore in
WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property istrue
default value is 2. Allowed values are: int If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property isfalse
(DEFAULT) number of threads is unlimited.- See Also:
-
CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT
This property control semaphore the maximum time to wait for a permit in
ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)
It's passed toSemaphore.tryAcquire(long, TimeUnit)
Default value is 2000 (unit is ms). Allowed values are: long- See Also:
-
CONCURRENCY_SEMAPHORE_LOG_TIMEOUT
This property control timeout between log messages in
ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)
when method/thread tries to get permit for the execution. Default value is 10000 (unit is ms). Allowed values are: long- See Also:
-
QUERY_RESULTS_CACHE_VALIDATION
This property control (enable/disable) query result cache validation in
This can be used to help debugging an object identity problem. An object identity problem is when an managed/active entity in the cache references an entity not in managed state. This method will validate that objects in query results (object tree) are in a correct state. As a result there are new log messages in the log. It's related with "read" queries likeUnitOfWorkImpl.internalExecuteQuery(org.eclipse.persistence.queries.DatabaseQuery, org.eclipse.persistence.internal.sessions.AbstractRecord)
em.find(...);
or JPQL queries likeSELECT e FROM Entity e
. It should be controlled at query level too by query hintQueryHints.QUERY_RESULTS_CACHE_VALIDATION
- "
true
" - validate query result object tree and if content is not valid print diagnostic messages. In this case there should be negative impact to the performance. - "
false
" (DEFAULT) - don't validate and print any diagnostic messages
- See Also:
- "
-
LOGIN_ENCRYPTOR
The "eclipselink.login.encryptor
" property configures a custom implementation ofSecurable
class used to encrypt and decrypt database password loaded from "jakarta.persistence.jdbc.password
" property. If this property is not specifiedJCEEncryptor
as a default encryptor is used.Allowed Values:
- the fully qualified name for a class that implements
Securable
interface
- See Also:
- the fully qualified name for a class that implements
-
PROPERTY_LOG_OVERRIDES
INTERNAL: The following properties will not be displayed through logging but instead have an alternate value shown in the log.
-
-
Constructor Details
-
PersistenceUnitProperties
public PersistenceUnitProperties()
-
-
Method Details
-
getOverriddenLogStringForProperty
INTERNAL: Return the overridden log string.- Parameters:
propertyName
- property which value should be overriden in the log- Returns:
- the overridden log string
-
getSupportedNonServerSessionProperties
-
ID_VALIDATION
property with value "NULL
".