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
FieldsModifier and TypeFieldDescriptionstatic final StringTheeclipselink.jdbc.allow-native-sql-queriesproperty specifies whether any user defined SQL is allowed within a persistence unit.static final StringDeprecated.static final StringThe propertyeclipselink.application-locationspecifies the file system directory location where DDL files are written (output) to.static final StringTheeclipselink.jdbc.batch-writingproperty configures the use of batch writing to optimize transactions with multiple writes.static final StringTheeclipselink.jdbc.batch-writing.sizeproperty configures the batch size used for batch writing.static final StringProperty for disabling Bean Validation optimisations.static final StringTheeclipselink.cache.extended.loggingproperty control (enable/disable) usage logging of JPA L2 cache.static final StringTheeclipselink.cache.query-force-deferred-locksproperty force all queries and relationships to use deferred lock strategy during object building and L2 cache population.static final StringProperty prefixeclipselink.cache.shared.indicates whether entity's cache should be shared (non-isolated) for a specific entity type.static final StringDefault caching properties - apply to all entities.static final StringProperty prefixeclipselink.cache.size.is used to specify the cache size for a specific entity type.static final StringDefault caching properties - apply to all entities.static final StringTheeclipselink.jdbc.cache-statementsproperty specifies whether JDBC statements should be cached.static final StringTheeclipselink.jdbc.cache-statements.sizeproperty specifies the number of statements held when using internal statement caching.static final StringProperty prefixeclipselink.cache.type.sets the type of cache for a specific entity type.static final StringDefault caching properties - apply to all entities.static final StringTheeclipselink.canonicalmodel.generate_commentsoptional property can be used to disable usage of comments in declaration ofGeneratedannotation.static final StringDefault value for theeclipselink.canonicalmodel.generate_commentsoptional property.static final StringTheeclipselink.canonicalmodel.use_generatedoptional property can be used to disable generation ofGeneratedannotation.static final StringDefault value for theeclipselink.canonicalmodel.use_generatedoptional property.static final StringTheeclipselink.canonicalmodel.generate_timestampoptional property can be used to disable usage of date in declaration ofGeneratedannotation.static final StringDefault value for theeclipselink.canonicalmodel.generate_timestampoptional property.static final StringTheeclipselink.canonicalmodel.load_xmloptional property can be used a performance enhancement between compile rounds.static final StringDefault value for theeclipselink.canonicalmodel.load_xmloptional property.static final StringTheeclipselink.canonicalmodel.prefixoptional property specifies the prefix that will be added to the start of the class name of any canonical model class generated.static StringDefault prefix that will be added to the start of the class name of any canonical model class generated.static final StringTheeclipselink.canonicalmodel.subpackageoptional 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 StringDefault 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 StringTheeclipselink.canonicalmodel.suffixoptional property specifies the suffix that will be added to the end of the class name of any canonical model class generated.static StringDefault suffix that will be added to the end of the class name of any canonical model class generated.static final StringTheeclipselink.canonicalmodel.use_static_factoryoptional property can be used a performance enhancement between compile rounds within an IDE.static final StringDefault value for theeclipselink.canonicalmodel.use_static_factoryoptional property.static final StringProperty prefixeclipselink.logging.level.allows the category specific logging levels to be specified.static final StringThejakarta.persistence.bean.managerproperty is used to set CDI BeanManager when availablestatic final StringTheeclipselink.classloaderproperty specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.static final StringTheeclipselink.composite-unitproperty indicates if it's a composite persistence unit (true).static final StringTheeclipselink.composite-unit.memberproperty 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 StringTheeclipselink.composite-unit.propertiesproperty may be passed to createEntityManagerFactory method of a composite persistence unit to pass properties to member persistence units.static final StringThis system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final StringThis property control (enable/disable) ifConcurrencyExceptionfired when dead-lock diagnostic is enabled.static final StringThis property control (enable/disable) ifInterruptedExceptionfired when dead-lock diagnostic is enabled.static final StringThis property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.static final StringThis system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final StringThis system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.static final StringThis system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil.static final StringThis system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.static final StringThis property control number of threads in semaphore inObjectBuilderIf "eclipselink.concurrency.manager.object.building.semaphore" property istruedefault value is 10.static final StringThis property control (enable/disable) semaphore inObjectBuilderstatic final StringThis property control (enable/disable) semaphore inWriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)static final StringThis 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 istruedefault value is 2.static final StringThis property control timeout between log messages inConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean)when method/thread tries to get permit for the execution.static final StringThis 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 StringAllow configuring aeclipselink.connection-pool.properties.static final StringThefailoverproperty.
This can be appended to a connection pool property, i.e.static final StringTheinitialproperty.
This can be appended to any connection pool property, i.e.static final StringTell EclipseLink to use its internal connection pool to pool connections from a datasource.static final StringThejtaDataSourceproperty.
This can be appended to a connection pool property, i.e.static final StringThemaxproperty.
This can be appended to any connection pool property, i.e.static final StringTheminproperty.
This can be appended to any connection pool property, i.e.static final StringThenonJtaDataSourceproperty.
This can be appended to a connection pool property, i.e.static final StringThepasswordproperty.
This can be appended to a connection pool property, i.e.static final StringAllow configuring theeclipselink.connection-pool.read.properties.static final StringAllow configuring theeclipselink.connection-pool.sequence.properties.static final StringThesharedproperty.
This can be appended to the read connection pool, i.e.static final StringTheurlproperty.
This can be appended to a connection pool property, i.e.static final StringTheuserproperty.
This can be appended to a connection pool property, i.e.static final StringThewaitproperty.
This can be appended to any connection pool property, i.e.static final StringTheeclipselink.cache.coordination.propagate-asynchronouslyproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.channelproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jgroups.configproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jms.factoryproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jms.hostproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jms.reuse-topic-publisherproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jms.topicproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jndi.initial-context-factoryproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jndi.passwordproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.jndi.userproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.naming-serviceproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.protocolproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.remove-connection-on-errorproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.rmi.announcement-delayproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.rmi.multicast-groupproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.rmi.multicast-group.portproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.rmi.packet-time-to-liveproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.rmi.urlproperty configures cache coordination for a clustered environment.static final StringTheeclipselink.cache.coordination.serializerproperty configures how cache coordination serializes message sent between nodes.static final StringTheeclipselink.cache.coordination.thread.pool.sizeproperty configures thread pool size for cache coordination threads.static final StringThe propertyeclipselink.create-ddl-jdbc-file-namespecifies the name of the DDL file which is used to create database tables.static final StringThe parameter valuecreate-tablesspecifies that database tables should be created.static final StringThe parameter valuecreate-or-extend-tablesspecifies that database tables should be created and if existing, missing columns will be added.static final StringTheeclipselink.cache.database-event-listenerproperty allows integration with a database event notification service.static final StringThe parameter valuebothspecifies that DDL will be written to file(s) and the database.static final StringThe parameter valuedatabasespecifies that DDL will be written to the database.static final StringTheeclipselink.ddl-generationproperty allows the database schema to be generated on deployment.static final StringTheeclipselink.ddl-generation.index-foreign-keysproperty specifies if an index should be automatically generated for foreign key constraints.static final StringTheeclipselink.ddl-generation.output-modeproperty specifies if database schema should be generated on the database, to a file, or both.static final StringThe parameter valuesql-scriptspecifies that DDL will be written to file(s).static final StringDefault Suffix could be appended to some prefixes to form a property name setting the default for the persistence unit.static final StringThe default location in the file system to output DDL files.static final StringThe default name of the DDL file which is used to create database tables.static final StringTheeclipselink.ddl-generation.output-modeparameter is configured to the default value ofdatabase.static final StringThe default name of the DDL file which is used to drop database tables.static final StringTheeclipselink.deploy-on-startupproperty 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 StringTheeclipselink.descriptor.customizer.is a prefix for a property used to configure aDescriptorCustomizer.static final StringThe parameter valuedrop-and-create-tablesspecifies that database tables should be dropped, then created.static final StringThe propertyeclipselink.drop-ddl-jdbc-file-namespecifies the name of the DDL file which is used to drop database tables.static final StringThe parameter valuedrop-tablesspecifies that database tables should be dropped only.static final StringThiseclipselink.persistenceunitsproperty specifies the set of persistence unit names that will be processed when generating the canonical model.static final StringTheeclipselink.persistencexmlproperty specifies the full resource name to look for the persistence XML files in.static final StringThe default resource location used to locate the persistence.xml configuration files.static final StringTheeclipselink.se-puinfoproperty specifies aorg.eclipse.persistence.internal.jpa.deployment.SEPersistenceUnitInfothat is used create an EntityManagerFactory.static final StringTheeclipselink.exception-handlerproperty allows anExceptionHandlerto be specified.static final StringTheeclipselink.exclude-eclipselink-ormproperty configures the exclusion of an EclipseLink ORM mapping file for a specific persistence unit.static final StringTheeclipselink.jdbc.exclusive-connection.is-lazyproperty specifies when write connection is acquired lazily.static final StringTheeclipselink.jdbc.exclusive-connection.modeproperty 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 StringTheeclipselink.flush-clear.cacheproperty definesEntityManagercache behavior after a call to flush method followed by a call to clear method.static final StringTheeclipselink.memory.free-metadataproperty configures the JPA internal deployment metadata to be released after deployment.static final StringTheeclipselink.id-validationproperty defines which primary key components values are considered invalid.static final StringTheeclipselink.session.include.descriptor.queriesproperty configures whether to enable the copying of all descriptor named queries to the session to be usable from the entity manager.static final StringThe system propertyINTERACT_WITH_DBspecifies to enable or disable the execution of DDL (configured with theeclipselink.ddl-generationproperty) against a database.static final StringPropertyeclipselink.jdbc.allow-partial-bind-parametersconfigures whether partial parameter binding should be allowed in the creation of JDBC prepared statements.static final StringPropertyeclipselink.jdbc.bind-parametersconfigures whether parameter binding should be used in the creation of JDBC prepared statements.static final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIALstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAXstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_WAITstatic final StringTheeclipselink.jdbc.connectorproperty.
Allows a custom connector to be used to define how to connect to the database.static final StringThejakarta.persistence.jdbc.driverproperty specifies the JDBCDriverManagerclass name used for internal connection pooling when a data source is not being used.static final StringPropertyeclipselink.jdbc.force-bind-parametersenables parameter binding in the creation of JDBC prepared statements.static final StringThejakarta.persistence.jdbc.passwordproperty specifies the data source or JDBC password.static final StringTheeclipselink.jdbc.property.property allows passing of JDBC driver specific connection properties.static final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIALstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAXstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SHAREDstatic final StringTheeclipselink.jdbc.result-set-access-optimizationproperty allows to set whether a query should by default use ResultSet Access optimization.static final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_SEQUENCEstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_NON_JTA_DATA_SOURCEstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIALstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAXstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINstatic final StringThejakarta.persistence.jdbc.urlproperty specifies the JDBC URL used for internal connection pooling when a data source is not being used.static final StringThejakarta.persistence.jdbc.userproperty specifies the data source or JDBC user name.static final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_INITIALstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAXstatic final StringDeprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINstatic final StringTheeclipselink.transaction.join-existingproperty set totrueforces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.static final StringTheeclipselink.jpql.parserproperty allows the JPQL parser to be configured.static final StringTheeclipselink.tolerate-invalid-jpqlproperty allows anEntityManagerto be created even in the event that an application has invalid JPQL statements declared in annotations or xml.static final StringTheeclipselink.jpql.validationproperty allows the JPQL parser validation level to be configured.static final StringTheeclipselink.jta.controllerproperty allows to override JTA transaction controller class ofServerPlatform.static final StringThejakarta.persistence.jtaDataSourceproperty specifies the JTA data source name that will look up a validDataSource.static final StringPropertyeclipselink.logging.connectionindicates if the connection in use should have its identity included in each log message.static final StringPropertyeclipselink.logging.exceptionsindicates 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 StringTheeclipselink.logging.fileproperty configures a file location where the log will be output to instead of standard out.static final StringTheeclipselink.logging.levelproperty allows the default logging levels to be specified.static final StringTheeclipselink.logging.loggerproperty specifies the type of logger.static final StringBy default, sql bind parameters are displayed in exceptions and logs when the log level is FINE or greater.static final StringPropertyeclipselink.logging.sessionindicates if the session in use should have its identity included in each log message.static final StringPropertyeclipselink.logging.threadindicates if current thread should have its identity included in each log message.static final StringTheeclipselink.logging.timestampproperty configures if the current time stamp should be included in each log message.static final StringTheeclipselink.login.encryptorproperty configures a custom implementation ofSecurableclass used to encrypt and decrypt database password loaded fromjakarta.persistence.jdbc.passwordproperty.static final StringTheeclipselink.metadata-sourceproperty configures the type of MetadataSource implementation to use to read Metadatastatic final StringThe propertyeclipselink.metadata-source.properties.filespecifies the name of the metadata repository properties file to read from using classloader to find the resource.static final StringTheeclipselink.metadata-source.send-refresh-commandproperty works with cache coordination for a clustered environment to.static final StringThe propertyeclipselink.metadata-source.xml.filespecifies the name of the metadata repository xml file to read from using classloader to find the resourcestatic final StringThe propertyeclipselink.metadata-source.xml.URLspecifies the name of the metadata repository xml URL to read from.static final StringTheeclipselink.tenant-idproperty specifies the default context property used to populate multitenant entities.static final StringTheeclipselink.tenant-schema-idproperty specifies the context property used to distinguish tenants when using global schema per tenant multitenant strategy.static final StringPropertyeclipselink.multitenant.tenants-share-cachespecifies that multitenant entities will share the L2 cache.static final StringPropertyeclipselink.multitenant.shared-emfis used to indicate that multitenant entities will be used within a shared entity manager factory.static final StringTheeclipselink.multitenant.strategyproperty specifies the global, project wide multitenancy strategy.static final StringTheeclipselink.jpa.naming_into_indexedproperty defines if stored procedure parameters passed by name should be transformed into positional/index based passing if property value will betrue. e.g.static final StringTheeclipselink.jdbc.uppercase-columnsproperty configures native SQL queries are used, the JDBC meta-data may return column names in lower case on some platforms.static final StringTheeclipselink.jdbc.native-sqlproperty specifies whether generic SQL should be used or platform specific 'native' SQL.static final StringThejakarta.persistence.nonJtaDataSourceproperty specifies the non-JTA data source name that will look up a validDataSource.static final StringThe parameter valuenonespecifies that database tables should not be created or dropped.static final StringTheeclipselink.nosql.connection-factoryproperty allows the JCA ConnectionFactory to be specified for a NoSQL or EIS adapter.static final StringTheeclipselink.nosql.connection-specproperty allows the connection information for an NoSQL or EIS datasource to be specified.static final StringTheeclipselink.nosql.property.passwordproperty specifies password for NoSQL connection.
Note thatjakarta.persistence.jdbc.passwordis also supported.static final StringTheeclipselink.nosql.property.property prefix allows setting NoSQL connection properties.static final StringTheeclipselink.nosql.property.userproperty specifies user name for NoSQL connection.
Note thatjakarta.persistence.jdbc.useris also supported.static final StringTheeclipselink.oracle.proxy-typeproperty is used to specify proxy type that should be passed to OracleConnection.openProxySession method.static final StringDeprecated.as of EclipseLink 2.6 replaced byPERSISTENCE_CONTEXT_COMMIT_ORDERstatic final StringTheeclipselink.orm.validate.schemaproperty set on the session is used to override orm.xml schema validation from its default offalse.static final StringTheeclipselink.partitioningproperty specifies the defaultPartitioningPolicyfor 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 StringTheeclipselink.partitioning.callbackis used to integrate with an external DataSource's data affinity support, such as UCP.static final StringTheeclipselink.persistence-context.close-on-commitproperty specifies that the EntityManager will be closed or not used after commit (not extended).static final StringTheeclipselink.persistence-context.commit-orderproperty defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation.static final StringTheeclipselink.persistence-context.commit-without-persist-rulesproperty 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 StringTheeclipselink.persistence-context.flush-modeproperty configures the EntityManager FlushMode to be set as a persistence property.static final StringTheeclipselink.persistence-context.persist-on-commitproperty specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are cascade persist.static final StringTheeclipselink.persistence-context.reference-modeproperty configures whether there should be hard or soft references used within the Persistence Context.static final StringThejakarta.persistence.lock.timeoutproperty 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 StringTheeclipselink.pessimistic.lock.timeout.unitproperty configures the query timeout unit value.static final StringTheeclipselink.profilerproperty configures the type of profiler used to capture runtime statistics.static final StringTheeclipselink.project-cacheproperty configures the type oforg.eclipse.persistence.jpa.metadata.ProjectCacheimplementation to use to retrieve and store projects representing the metadata for the project.static final StringThe propertyeclipselink.project-cache.java-serialization.filespecifies 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 StringThejakarta.persistence.providerproperty specifies the name of a provider-specific implementation ofPersistenceProvider.static final StringProperty prefixeclipselink.cache.query-resultsused to configure the default option for query results caching.static final StringThis property control (enable/disable) query result cache validation inUnitOfWorkImpl.internalExecuteQuery(org.eclipse.persistence.queries.DatabaseQuery, org.eclipse.persistence.internal.sessions.AbstractRecord)static final StringThejakarta.persistence.query.timeoutproperty configures the default query timeout value.static final StringTheeclipselink.query.timeout.unitproperty configures the query timeout unit value.static final StringTheeclipselink.remote.protocolproperty configures remote JPA for a client or server.static final StringTheeclipselink.remote.server.nameproperty configures remote JPA for a server.static final StringTheeclipselink.remote.client.urlproperty configures remote JPA for a client.static final StringIf sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, thejakarta.persistence.database-major-versionproperty should be specified as needed.static final StringIf sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, thejakarta.persistence.database-minor-versionproperty should be specified as needed.static final StringIf scripts are to be generated by the persistence provider and a connection to the target database is not supplied, thejakarta.persistence.database-product-nameproperty must be specified.static final StringThejakarta.persistence.schema-generation.connectionproperty specifies the JDBC connection to be used for schema generation.static final StringThe parameter valuecreatestatic final StringIn 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 StringThejakarta.persistence.schema-generation.create-script-sourceis used for script execution.static final StringThejakarta.persistence.schema-generation.create-sourceproperty 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 StringThejakarta.persistence.schema-generation.database.actionproperty specifies the action to be taken by the persistence provider with regard to the database artifacts.static final StringThe parameter valuedropstatic final StringThe parameter valuedrop-and-createstatic final StringThejakarta.persistence.schema-generation.drop-script-sourceis used for script execution.static final StringThejakarta.persistence.schema-generation.drop-sourceproperty 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 StringThe parameter valuemetadatastatic final StringThe parameter valuemetadata-then-scriptstatic final StringThe parameter valuenonestatic final StringThe parameter valuescriptstatic final StringWhen theeclipselink.ddlgen-terminate-statementsproperty 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 StringThe parameter valuescript-then-metadatastatic final StringThejakarta.persistence.schema-generation.scripts.actionproperty specifies which scripts are to be generated by the persistence provider.static final StringIf scripts are to be generated, the target locations for the writing of these scripts must be specified.static final StringIf scripts are to be generated, the target locations for the writing of these scripts must be specified.static final StringIn 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 StringThe parameter valueverifystatic final StringTheeclipselink.schema-validation.modeproperty specifies database schema validation mode.static final StringThefullvalue of theeclipselink.schema-validation.modeproperty.static final StringThesimplevalue of theeclipselink.schema-validation.modeproperty.static final StringTheeclipselink.sequencing.default-sequence-to-tableproperty determines the default behavior when a GeneratedValue of type SEQUENCE is used on a database platform that does not support SEQUENCE generation.static final StringBy default, EclipseLink generates sequence values at (NEXTVAL - allocationSize).static final StringTheeclipselink.serializerproperty specifies class name for session serializer (must implementSerializer)static final StringTheeclipselink.session.customizerproperty configures aSessionCustomizerused to alter the runtime configuration through API.static final StringTheeclipselink.session-event-listenerproperty configures a session event listener class.static final StringTheeclipselink.session-nameproperty configures a specific name to use when storing the singleton server session within theSessionManager.static final StringTheeclipselink.sessions-xmlproperty configures the use of the specified native sessions.xml configuration file.static final StringThejakarta.persistence.sharedCache.modeproperty determines whether second-level caching is in effect for the persistence unit.static final StringTheeclipselink.jpa.sqlcall.deferral.defaultproperty defines if SQL calls should be deferred to end of transaction by default or not.static final StringTheeclipselink.jdbc.sql-castproperty specifies if platform specific CAST SQL operations should be used.static final StringTheeclipselink.ddl.table-creation-suffixproperty is used in conjunction with DDL generation options to append a string to the end of generated CREATE Table statements.static final StringTheeclipselink.target-databaseproperty configures the database that will be used controlling custom operations and SQL generation for the specified database.static final StringTheeclipselink.target-database-propertiesproperty configures additional properties for the configured target-database.static final StringTheeclipselink.target-serverproperty configures theServerPlatformthat will be used to enable integration with a host container.static final StringTheeclipselink.temporal.mutableproperty configures the default for detecting changes to temporal field (Date, Calendar).static final StringTheeclipselink.thread.extended.loggingproperty 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 StringTheeclipselink.thread.extended.logging.threaddumpproperty control (enable/disable) store and display thread dump.static final StringTheeclipselink.orm.throw.exceptionsproperty 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 StringThejakarta.persistence.transactionTypeproperty specifies the transaction type for the persistence unit.static final StringTheeclipselink.tuningproperty configures the type of tuner to use to configure the persistence unit.static final StringTheeclipselink.jpa.uppercase-column-namesproperty configures JPA processing to uppercase all column name definitions.static final StringTheeclipselink.locking.timestamp.localproperty defines if locking policies should default to local time(true) or server time(false).static final StringTheeclipselink.validate-existenceproperty 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 StringThejakarta.persistence.validation.group.pre-persistproperty specifies the name of the validator groups to execute forpreUpdateevent.static final StringThejakarta.persistence.validation.group.pre-removeproperty specifies the name of the validator groups to execute forpreRemoveevent.static final StringThejakarta.persistence.validation.group.pre-updateproperty specifies the name of the validator groups to execute forpreUpdateevent.static final StringThejakarta.persistence.validation.modeproperty specifies whether the automatic lifecycle event validation is in effect.static final StringTheeclipselink.validation-onlyproperty validates deployment which includes initializing descriptors but does not connect (no login to the database).static final StringThejakarta.persistence.validation.factoryproperty specifies an instance of jakarta.validation.ValidatorFactory used by EclipseLink to perform Automatic Validation upon Lifecycle Events.static final StringTheeclipselink.weavingproperty configures whether weaving should be performed.static final StringTheeclipselink.weaving.changetrackingproperty configures whether AttributeLevelChangeTracking should be enabled through weaving.static final StringTheeclipselink.weaving.eagerproperty configures whether EAGER mapping's attributes should be woven to use indirection.static final StringTheeclipselink.weaving.fetchgroupsproperty configures whether FetchGroup support should be enabled through weaving.static final StringTheeclipselink.weaving.internalproperty indicates whether internal optimizations should be enabled through weaving.static final StringTheeclipselink.weaving.lazyproperty configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.static final StringTheeclipselink.weaving.mappedsuperclassproperty configures whetherMappedSuperclasses with no direct subclasses will be woven.static final StringTheeclipselink.weaving.restproperty configures whether classes will be woven to support EclipseLink JPA_RS functionality -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetOverriddenLogStringForProperty(String propertyName) INTERNAL: Return the overridden log string.
-
Field Details
-
PROVIDER
Thejakarta.persistence.providerproperty specifies the name of a provider-specific implementation ofPersistenceProvider. This property overrides the value specified in the persistence.xml.Allowed Values:
- fully qualified name of the provider-specific implementation class
Classinstance of the provider-specific implementation class
- See Also:
-
TRANSACTION_TYPE
Thejakarta.persistence.transactionTypeproperty specifies the transaction type for the persistence unit. This property overrides the value specified in the persistence.xml.Allowed Values (case-sensitive string):
JTARESOURCE_LOCAL
- See Also:
-
JTA_DATASOURCE
Thejakarta.persistence.jtaDataSourceproperty 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
Thejakarta.persistence.nonJtaDataSourceproperty 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
Thejakarta.persistence.jdbc.driverproperty specifies the JDBCDriverManagerclass 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
Driverinterface
Persistence XML example:
<property name="jakarta.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />The previous value for this property
eclipselink.jdbc.driveris now deprecated and should be replaced with this new name.- See Also:
- the fully qualified name for a class that implements
-
JDBC_URL
Thejakarta.persistence.jdbc.urlproperty 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.urlis now deprecated and should be replaced with this new name.- See Also:
-
JDBC_USER
Thejakarta.persistence.jdbc.userproperty 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.useris now deprecated and should be replaced with this new name.- See Also:
-
JDBC_PASSWORD
Thejakarta.persistence.jdbc.passwordproperty 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.passwordis now deprecated and should be replaced with this new name.- See Also:
-
NATIVE_SQL
Theeclipselink.jdbc.native-sqlproperty 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 SQLtrue- use database specific SQL
- See Also:
-
SQL_CAST
Theeclipselink.jdbc.sql-castproperty 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 casttrue- enable platform specific cast
- See Also:
-
JPQL_PARSER
Theeclipselink.jpql.parserproperty 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
Theeclipselink.jpql.validationproperty 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
Thewaitproperty.
This can be appended to any connection pool property, i.e.eclipselink.jdbc.connection_pool.default.waitwhich 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
Themaxproperty.
This can be appended 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
Theminproperty.
This can be appended 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
Theinitialproperty.
This can be appended to any connection pool property, i.e.eclipselink.jdbc.connection_pool.default.initialEclipseLink 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
Thesharedproperty.
This can be appended 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 sharedtrue- indicates read connections can be shared
- See Also:
-
CONNECTION_POOL_URL
Theurlproperty.
This can be appended 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 from the default.- See Also:
-
CONNECTION_POOL_JTA_DATA_SOURCE
ThejtaDataSourceproperty.
This can be appended 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 from the default.- See Also:
-
CONNECTION_POOL_NON_JTA_DATA_SOURCE
ThenonJtaDataSourceproperty.
This can be appended 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 from the default.- See Also:
-
CONNECTION_POOL_USER
Theuserproperty.
This can be appended 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 from the default.- See Also:
-
CONNECTION_POOL_PASSWORD
Thepasswordproperty.
This can be appended 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 from the default.- See Also:
-
CONNECTION_POOL_FAILOVER
Thefailoverproperty.
This can be appended 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 aeclipselink.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 from the default. -
nonJtaDataSource- non JTA DataSource name to use for the connection, if different from the default. -
user- user to use for the connection, if different from the default. -
password- password to use for the connection, if different from 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 theeclipselink.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 from the default. -
nonJtaDataSource- non JTA DataSource name to use for the connection, if different from the default. -
user- user to use for the connection, if different from the default. -
password- password to use for the connection, if different from 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 theeclipselink.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 from the default. -
nonJtaDataSource- non JTA DataSource name to use for the connection, if different from the default. -
user- user to use for the connection, if different from the default. -
password- password to use for the connection, if different from 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 its 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_WAITTheeclipselink.jdbc.connections.wait-timeoutproperty 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_MAXTheeclipselink.jdbc.connections.maxproperty 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_MINTheeclipselink.jdbc.connections.minproperty 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_INITIALTheeclipselink.jdbc.connections.initialproperty 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_MAXTheeclipselink.jdbc.write-connections.maxproperty 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_MINTheeclipselink.jdbc.write-connections.minproperty 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_INITIALTheeclipselink.jdbc.write-connections.initialproperty 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_MAXTheeclipselink.jdbc.read-connections.maxproperty 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_WAITto configure the timeout waiting on a connection.
- See Also:
-
JDBC_READ_CONNECTIONS_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINTheeclipselink.jdbc.read-connections.minproperty 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_INITIALTheeclipselink.jdbc.read-connections.initialproperty 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_SHAREDTheeclipselink.jdbc.read-connections.sharedproperty 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 sharedtrue- indicates read connections can be shared
- See Also:
-
JDBC_SEQUENCE_CONNECTION_POOL_MAX
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MAXTheeclipselink.jdbc.sequence-connection-pool.maxproperty 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_POOLRequired to configure the use of a sequence pool/data-sourceJDBC_CONNECTIONS_WAITto configure the timeout
- See Also:
-
JDBC_SEQUENCE_CONNECTION_POOL_MIN
Deprecated.as of EclipseLink 2.2 replaced byCONNECTION_POOL_MINTheeclipselink.jdbc.sequence-connection-pool.minproperty 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_POOLRequired 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_INITIALTheeclipselink.jdbc.sequence-connection-pool.initialproperty 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_POOLRequired 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_SEQUENCETheeclipselink.jdbc.sequence-connection-poolproperty configures a separate connection pool 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_DATASOURCEto configure the use of a non-JTA data source for sequence allocation call.JDBC_SEQUENCE_CONNECTION_POOL_INITIALto configure the initial connections size for internal connection poolingJDBC_SEQUENCE_CONNECTION_POOL_MINto configure the minimum connections size for internal connection poolingJDBC_SEQUENCE_CONNECTION_POOL_MAXto 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_SOURCETheeclipselink.jdbc.sequence-connection-pool.non-jta-data-sourceproperty configures the name of the non-JTA data source that will be used for sequencing calls.- See Also:
-
PARTITIONING
Theeclipselink.partitioningproperty specifies the defaultPartitioningPolicyfor 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
Theeclipselink.partitioning.callbackis 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
DataPartitioningCallbackinterface i.e.org.eclipse.persistence.platform.database.oracle.ucp.UCPDataPartitioningCallback
- See Also:
- the fully qualified name for a class that implements
-
JDBC_BIND_PARAMETERS
Propertyeclipselink.jdbc.bind-parametersconfigures 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 SQLtrue(DEFAULT) - all values will be bound as parameters in the generated SQL
- See Also:
-
JDBC_ALLOW_PARTIAL_PARAMETERS
Propertyeclipselink.jdbc.allow-partial-bind-parametersconfigures 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
Propertyeclipselink.jdbc.force-bind-parametersenables 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 logictrue- bindings will use platform default
- See Also:
-
EXCLUSIVE_CONNECTION_MODE
Theeclipselink.jdbc.exclusive-connection.modeproperty 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.TransactionalIsolated-ExclusiveConnectionMode.IsolatedAlways-ExclusiveConnectionMode.Always
- See Also:
-
EXCLUSIVE_CONNECTION_IS_LAZY
Theeclipselink.jdbc.exclusive-connection.is-lazyproperty specifies when write connection is acquired lazily.Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
CACHE_STATEMENTS_SIZE
Theeclipselink.jdbc.cache-statements.sizeproperty 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
Theeclipselink.jdbc.cache-statementsproperty 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
Thejakarta.persistence.validation.factoryproperty 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.ValidationFactoryby callingValidation.buildDefaultValidatorFactory().- See Also:
-
VALIDATION_MODE
Thejakarta.persistence.validation.modeproperty specifies whether the automatic lifecycle event validation is in effect.Allowed Values:
AUTOCALLBACKNONE
- See Also:
-
VALIDATION_GROUP_PRE_PERSIST
Thejakarta.persistence.validation.group.pre-persistproperty specifies the name of the validator groups to execute forpreUpdateevent. 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
Thejakarta.persistence.validation.group.pre-updateproperty specifies the name of the validator groups to execute forpreUpdateevent. 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
Thejakarta.persistence.validation.group.pre-removeproperty specifies the name of the validator groups to execute forpreRemoveevent. 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 to
Boolean.TRUEto disable optimisations, set toBoolean.FALSEto 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 prefixeclipselink.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
DEFAULTsuffix (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 prefixeclipselink.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
DEFAULTsuffix (indicating that the property value applies to all entities).All valid values for CACHE_TYPE_ properties are declared in
CacheTypeclass. The default cache type isCacheType.SoftWeak.If you do not wish to cache entities at all, then set
CACHE_SHARED_tofalse.- See Also:
-
CACHE_SHARED_
Property prefixeclipselink.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
DEFAULTsuffix (indicating that the property value applies to all entities).If you do not wish to cache your entities, set this to
false.Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
SHARED_CACHE_MODE
Thejakarta.persistence.sharedCache.modeproperty 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:
ALLNONEENABLE_SELECTIVEDISABLE_SELECTIVEUNSPECIFIED
- 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
Theeclipselink.cache.extended.loggingproperty control (enable/disable) usage logging of JPA L2 cache. In case oftrueEclipseLink generates messages into log output about cache hit/miss new object population and object removal or invalidation. This kind of messages will be displayed only if logging level (propertyeclipselink.logging.level) isFINESTIt displays Entity class, ID and thread info (ID, Name).Allowed Values:
false(DEFAULT)true
- See Also:
-
THREAD_EXTENDED_LOGGING
Theeclipselink.thread.extended.loggingproperty 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
Theeclipselink.thread.extended.logging.threaddumpproperty control (enable/disable) store and display thread dump. This is extension toeclipselink.thread.extended.loggingwhich must be enabled. It prints additionally to some log messages presented byeclipselink.thread.extended.loggingcreation and current thread stack traces.Allowed Values:
false(DEFAULT)true
- See Also:
-
CANONICAL_MODEL_PREFIX
Theeclipselink.canonicalmodel.prefixoptional 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
Theeclipselink.canonicalmodel.suffixoptional 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
Theeclipselink.canonicalmodel.subpackageoptional 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
Theeclipselink.canonicalmodel.load_xmloptional 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 theeclipselink.canonicalmodel.load_xmloptional property.- See Also:
-
CANONICAL_MODEL_USE_STATIC_FACTORY
Theeclipselink.canonicalmodel.use_static_factoryoptional 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 theeclipselink.canonicalmodel.use_static_factoryoptional property.- See Also:
-
CANONICAL_MODEL_GENERATE_GENERATED
Theeclipselink.canonicalmodel.use_generatedoptional property can be used to disable generation ofGeneratedannotation. 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 theeclipselink.canonicalmodel.use_generatedoptional property.- See Also:
-
CANONICAL_MODEL_GENERATE_TIMESTAMP
Theeclipselink.canonicalmodel.generate_timestampoptional property can be used to disable usage of date in declaration ofGeneratedannotation. The default value is true.- See Also:
-
CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT
Default value for theeclipselink.canonicalmodel.generate_timestampoptional property.- See Also:
-
CANONICAL_MODEL_GENERATE_COMMENTS
Theeclipselink.canonicalmodel.generate_commentsoptional property can be used to disable usage of comments in declaration ofGeneratedannotation. The default value is true.- See Also:
-
CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT
Default value for theeclipselink.canonicalmodel.generate_commentsoptional 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 tofalse.- See Also:
-
QUERY_CACHE
Property prefixeclipselink.cache.query-resultsused 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
Theeclipselink.cache.database-event-listenerproperty 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
DatabaseEventListenerinterface, for exampleorg.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationListener DCN- for Oracle onlyQCN- for Oracle only
- See Also:
- the fully qualified name for a class that implements
-
CACHE_QUERY_FORCE_DEFERRED_LOCKS
Theeclipselink.cache.query-force-deferred-locksproperty 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 strategytrue- use deferred locking strategy all queries and relationships
- See Also:
-
LOGGING_LOGGER
Theeclipselink.logging.loggerproperty specifies the type of logger.Default:
DefaultSessionLogAllowed Values:
- the fully qualified name for a class that implements
SessionLoginterface - one of values defined in
LoggerType
- See Also:
- the fully qualified name for a class that implements
-
LOGGING_LEVEL
Theeclipselink.logging.levelproperty allows the default logging levels to be specified.Logging Levels: SessionLog.ALL_LABELALL SessionLog.FINEST_LABELFINEST SessionLog.FINER_LABELFINER SessionLog.FINE_LABELFINE SessionLog.CONFIG_LABELCONFIG SessionLog.INFO_LABELINFO (DEFAULT) SessionLog.WARNING_LABELWARNING SessionLog.SEVERE_LABELSEVERE SessionLog.OFF_LABELOFF Persistence XML example:
<property name="eclipselink.logging.level" value="FINE" />Java example:
props.put(PersistenceUnitProperties.LOGGING_LEVEL, org.eclipse.persistence.logging.SessionLog.FINE_LABEL);- See Also:
-
CATEGORY_LOGGING_LEVEL_
Property prefixeclipselink.logging.level.allows the category specific logging levels to be specified.Logger categories: SessionLog.CACHEcache SessionLog.CONNECTIONconnection SessionLog.DMSdms SessionLog.EJBejb SessionLog.EVENTevent SessionLog.JPAjpa SessionLog.METAMODELmetamodel SessionLog.PROPAGATIONpropagation SessionLog.PROPERTIESproperties SessionLog.QUERYquery SessionLog.SEQUENCINGsequencing SessionLog.SERVERserver SessionLog.SQLsql SessionLog.TRANSACTIONtransaction SessionLog.WEAVERweaver 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:
falsetrue
- See Also:
-
LOGGING_TIMESTAMP
Theeclipselink.logging.timestampproperty configures if the current time stamp should be included in each log message.Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
LOGGING_THREAD
Propertyeclipselink.logging.threadindicates 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:
falsetrue(DEFAULT)
- See Also:
-
LOGGING_SESSION
Propertyeclipselink.logging.sessionindicates if the session in use should have its identity included in each log message.Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
LOGGING_CONNECTION
Propertyeclipselink.logging.connectionindicates if the connection in use should have its identity included in each log message.Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
LOGGING_EXCEPTIONS
Propertyeclipselink.logging.exceptionsindicates 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:
falsetrue(DEFAULT)
- See Also:
-
LOGGING_FILE
Theeclipselink.logging.fileproperty configures a file location where the log will be output to instead of standard out.- See Also:
-
MULTITENANT_PROPERTY_DEFAULT
Theeclipselink.tenant-idproperty 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
Theeclipselink.tenant-schema-idproperty 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
Propertyeclipselink.multitenant.tenants-share-cachespecifies 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
Propertyeclipselink.multitenant.shared-emfis used to indicate that multitenant entities will be used within a shared entity manager factory. This property defaults totrue(and applies to multitenant entities only). When setting it tofalse, 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
Theeclipselink.multitenant.strategyproperty specifies the global, project wide multitenancy strategy.Allowed Values:
external- the fully qualified name for a class that implements
MultitenantPolicyinterface 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
Theeclipselink.ddl.table-creation-suffixproperty 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
Theeclipselink.target-databaseproperty configures the database that will be used controlling custom operations and SQL generation for the specified database.Default:
TargetDatabase.Autowhich means EclipseLink will try to automatically determine the correct database platform type.Note:
eclipselink.target-databasemust be specified with a non-"Auto" class name or short name wheneclipselink.validation-onlyis set totrue.Allowed Values:
- a short string value as defined in
TargetDatabase - the fully qualified name for a class that extends
DatabasePlatformabstract class
- See Also:
- a short string value as defined in
-
TARGET_DATABASE_PROPERTIES
Theeclipselink.target-database-propertiesproperty 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
Theeclipselink.exclude-eclipselink-ormproperty 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
Theeclipselink.session-nameproperty 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
Theeclipselink.weavingproperty 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
truein Java SE using javaagent and within EJB 3+ compliant containers true- requires that weaving is done. Will throw an exception if entities are not wovenfalse- forces weaving not to be donestatic- requires that the static weaving utility was used to weave the entities
static.- See Also:
- Not Set - defaults to
-
WEAVING_INTERNAL
Theeclipselink.weaving.internalproperty 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:
falsetrue(DEFAULT)
- See Also:
-
WEAVING_LAZY
Theeclipselink.weaving.lazyproperty configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.This property will only be considered if weaving is enabled.
Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
WEAVING_EAGER
Theeclipselink.weaving.eagerproperty 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
Theeclipselink.weaving.changetrackingproperty 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:
falsetrue(DEFAULT)
- See Also:
-
WEAVING_FETCHGROUPS
Theeclipselink.weaving.fetchgroupsproperty 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:
falsetrue(DEFAULT)
- See Also:
-
WEAVING_MAPPEDSUPERCLASS
Theeclipselink.weaving.mappedsuperclassproperty configures whetherMappedSuperclasses with no direct subclasses will be woven.This property will only be considered if weaving is enabled.
Allowed Values:
true(DEFAULT)false
- See Also:
-
WEAVING_REST
Theeclipselink.weaving.restproperty configures whether classes will be woven to support EclipseLink JPA_RS functionalityThis property will only be considered if weaving is enabled.
Allowed Values:
falsetrue(DEFAULT)
- See Also:
-
TARGET_SERVER
Theeclipselink.target-serverproperty configures theServerPlatformthat will be used to enable integration with a host container.Default:
TargetServer.NoneAllowed Values:
- a short string value as defined in
TargetServerclass - this corresponds to server platforms currently supported - the fully qualified name for a class that implements
ServerPlatforminterface
ExternalTransactionControllersetsCustomServerPlatformwith this controller.- See Also:
- a short string value as defined in
-
JTA_CONTROLLER
Theeclipselink.jta.controllerproperty allows to override JTA transaction controller class ofServerPlatform.Value of this property is a fully qualified name of a class that implements
ExternalTransactionControllerinterface.If both
eclipselink.target-serverandeclipselink.jta.controllerproperties are set and contain classes implementingExternalTransactionControllerinterface,eclipselink.target-servervalue is used.- See Also:
-
SCHEMA_GENERATION_DATABASE_ACTION
The
jakarta.persistence.schema-generation.database.actionproperty 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 thenone,create,drop-and-create,drop.create-or-extend-tablesoption.If the
jakarta.persistence.schema-generation.database.actionproperty 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.actionproperty 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-sourceproperty 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-scriptandscript-then-metadatavalues 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-sourceproperty 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-sourceproperty, 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-scriptandscript-then-metadatavalues 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-schemasproperty 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 SCHEMAcommands. 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-targetproperty 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-targetproperty 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-nameproperty 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-versionandjakarta.persistence.database-minor-versionproperties 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-versionproperty 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-versionproperty 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-sourceis 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-sourceproperty 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-sourceis 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-sourceproperty 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.connectionproperty 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-sourceproperty 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 valuecreateFor use with the
jakarta.persistence.schema-generation.database.actionandjakarta.persistence.schema-generation.scripts.actionproperties.Specifies that database tables should be created.
- See Also:
-
SCHEMA_GENERATION_DROP_AND_CREATE_ACTION
The parameter valuedrop-and-createFor use with the
jakarta.persistence.schema-generation.database.actionandjakarta.persistence.schema-generation.scripts.actionproperties.Specifies that database tables should be dropped, then created.
- See Also:
-
SCHEMA_GENERATION_DROP_ACTION
The parameter valuedropFor use with the
jakarta.persistence.schema-generation.database.actionandjakarta.persistence.schema-generation.scripts.actionproperties.Specifies that database tables should be dropped.
- See Also:
-
SCHEMA_GENERATION_NONE_ACTION
The parameter valuenoneFor use with the
jakarta.persistence.schema-generation.database.actionandjakarta.persistence.schema-generation.scripts.actionproperties.Specifies that database tables should not be created or dropped.
- See Also:
-
SCHEMA_GENERATION_VERIFY_ACTION
The parameter valueverifyFor use with the
jakarta.persistence.schema-generation.database.actionandjakarta.persistence.schema-generation.scripts.actionproperties.Specifies that database tables should be verified.
- See Also:
-
SCHEMA_GENERATION_METADATA_SOURCE
The parameter valuemetadataFor use with the
jakarta.persistence.schema-generation.create-sourceandjakarta.persistence.schema-generation.drop-sourceproperties.Specifies that DDL generation source will come from the metadata only.
- See Also:
-
SCHEMA_GENERATION_SCRIPT_SOURCE
The parameter valuescriptFor use with the
jakarta.persistence.schema-generation.create-sourceandjakarta.persistence.schema-generation.drop-sourceproperties.Specifies that DDL generation source will come from scripts only.
- See Also:
-
SCHEMA_GENERATION_METADATA_THEN_SCRIPT_SOURCE
The parameter valuemetadata-then-scriptFor use with the
jakarta.persistence.schema-generation.create-sourceandjakarta.persistence.schema-generation.drop-sourceproperties.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 valuescript-then-metadataFor use with the
jakarta.persistence.schema-generation.create-sourceandjakarta.persistence.schema-generation.drop-sourceproperties.Specifies that DDL generation source will come from the scripts first followed with the metadata.
- See Also:
-
SCHEMA_GENERATION_SCRIPT_TERMINATE_STATEMENTS
When theeclipselink.ddlgen-terminate-statementsproperty 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 characterstrue
- See Also:
-
SEQUENCING_SEQUENCE_DEFAULT
Theeclipselink.sequencing.default-sequence-to-tableproperty 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 theeclipselink.sequencing.start-sequence-at-nextvalproperty 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 - allocationSizetrue
- See Also:
-
SESSION_CUSTOMIZER
Theeclipselink.session.customizerproperty configures aSessionCustomizerused 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
SessionCustomizerinterface
- See Also:
- the fully qualified name for a class that implements
-
DESCRIPTOR_CUSTOMIZER_
Theeclipselink.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
DescriptorCustomizerinterface
- See Also:
- the fully qualified name for a class that implements
-
NATIVE_QUERY_UPPERCASE_COLUMNS
Theeclipselink.jdbc.uppercase-columnsproperty 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:
falsetrue
- See Also:
-
UPPERCASE_COLUMN_NAMES
Theeclipselink.jpa.uppercase-column-namesproperty configures JPA processing to uppercase all column name definitions. A value oftruealso sets theeclipselink.jdbc.uppercase-columnsproperty totrue, 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:
falsetrue(DEFAULT)
- See Also:
-
BATCH_WRITING
Theeclipselink.jdbc.batch-writingproperty 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
BatchWritingMechanismabstract class
- See Also:
-
BATCH_WRITING_SIZE
Theeclipselink.jdbc.batch-writing.sizeproperty 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
Thejakarta.persistence.bean.managerproperty is used to set CDI BeanManager when available- See Also:
-
ECLIPSELINK_PERSISTENCE_XML
Theeclipselink.persistencexmlproperty specifies the full resource name to look for the persistence XML files in. If not specified the default value defined byECLIPSELINK_PERSISTENCE_XML_DEFAULTwill 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
Theeclipselink.se-puinfoproperty specifies aorg.eclipse.persistence.internal.jpa.deployment.SEPersistenceUnitInfothat 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
Thiseclipselink.persistenceunitsproperty 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
Theeclipselink.exception-handlerproperty allows anExceptionHandlerto be specified. AnExceptionHandlerhandles exceptions when they are thrown so that an application might address expected failures and continue.- See Also:
-
INCLUDE_DESCRIPTOR_QUERIES
Theeclipselink.session.include.descriptor.queriesproperty 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
Theeclipselink.session-event-listenerproperty configures a session event listener class.Use
SESSION_CUSTOMIZERto configure multiple listeners using API.- See Also:
-
SESSIONS_XML
Theeclipselink.sessions-xmlproperty configures the use of the specified native sessions.xml configuration file. When specified this file will load all the session configuration and mapping information from the native XML. No JPA annotations or XML will be used.- See Also:
-
PROJECT_CACHE
Theeclipselink.project-cacheproperty configures the type oforg.eclipse.persistence.jpa.metadata.ProjectCacheimplementation 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.ProjectCacheinterface
- See Also:
-
PROJECT_CACHE_FILE
The propertyeclipselink.project-cache.java-serialization.filespecifies 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-cachewhen a project is serialized to a file for caching.- See Also:
-
TEMPORAL_MUTABLE
Theeclipselink.temporal.mutableproperty configures the default for detecting changes to temporal field (Date, Calendar). Defaultfalse(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
Theeclipselink.jdbc.allow-native-sql-queriesproperty 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 tofalse.Allowed Values (String):
false- do not allow native SQL.true(DEFAULT) - allow native SQL
- See Also:
-
ALLOW_ZERO_ID
Deprecated.replaced byID_VALIDATIONproperty with valueNULL.Theeclipselink.allow-zero-idproperty 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 thePrimaryKeyannotation andIdValidation.Caution: This property configures the static singleton on
Helper.isZeroValidPrimaryKeywhich will be shared by all concurrent uses of EclipseLink.- See Also:
-
ID_VALIDATION
Theeclipselink.id-validationproperty 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 totrue.- See Also:
-
FLUSH_CLEAR_CACHE
Theeclipselink.flush-clear.cacheproperty definesEntityManagercache 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
Theeclipselink.classloaderproperty specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.- See Also:
-
THROW_EXCEPTIONS
Theeclipselink.orm.throw.exceptionsproperty 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:
falsetrue(DEFAULT)
- See Also:
-
ORM_SCHEMA_VALIDATION
Theeclipselink.orm.validate.schemaproperty set on the session is used to override orm.xml schema validation from its default offalse.- See Also:
-
DEPLOY_ON_STARTUP
Theeclipselink.deploy-on-startupproperty 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
truecauses 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
falsethe 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) beingnulluntil 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
Theeclipselink.validation-onlyproperty validates deployment which includes initializing descriptors but does not connect (no login to the database).Note:
eclipselink.target-databasemust be specified with a non-"Auto" class name or short name wheneclipselink.validation-onlyis set totrue.Allowed Values:
false(DEFAULT)true
- See Also:
-
DDL_GENERATION
Theeclipselink.ddl-generationproperty allows the database schema to be generated on deployment.Allowed Values:
drop-tables-DROP_ONLYcreate-tables-CREATE_ONLYdrop-and-create-tables-DROP_AND_CREATEcreate-or-extend-tables-CREATE_OR_EXTENDnone-NONE(DEFAULT)
- See Also:
-
CREATE_ONLY
The parameter valuecreate-tablesspecifies that database tables should be created.For use with the
eclipselink.ddl-generationproperty.- See Also:
-
DROP_ONLY
The parameter valuedrop-tablesspecifies that database tables should be dropped only.For use with the
eclipselink.ddl-generationproperty.- See Also:
-
DROP_AND_CREATE
The parameter valuedrop-and-create-tablesspecifies that database tables should be dropped, then created.For use with the
eclipselink.ddl-generationproperty.- See Also:
-
CREATE_OR_EXTEND
The parameter valuecreate-or-extend-tablesspecifies that database tables should be created and if existing, missing columns will be added.For use with the
eclipselink.ddl-generationproperty.Note this can only be used with
eclipselink.ddl-generation.output-modewith value ofdatabase.- See Also:
-
NONE
The parameter valuenonespecifies that database tables should not be created or dropped.For use with the
eclipselink.ddl-generationproperty, and is the default parameter value.- See Also:
-
METADATA_SOURCE
Theeclipselink.metadata-sourceproperty 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.MetadataSourceinterface
- See Also:
-
METADATA_SOURCE_RCM_COMMAND
Theeclipselink.metadata-source.send-refresh-commandproperty 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:
falsetrue(DEFAULT)
- See Also:
-
METADATA_SOURCE_XML_FILE
The propertyeclipselink.metadata-source.xml.filespecifies 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-repositorywhen an XML repository is being used.- See Also:
-
METADATA_SOURCE_XML_URL
The propertyeclipselink.metadata-source.xml.URLspecifies the name of the metadata repository xml URL to read from.This property should be used in conjunction with the
eclipselink.metadata-repositorywhen an XML repository is being used.- See Also:
-
METADATA_SOURCE_PROPERTIES_FILE
The propertyeclipselink.metadata-source.properties.filespecifies the name of the metadata repository properties file to read from using classloader to find the resource.- See Also:
-
APP_LOCATION
The propertyeclipselink.application-locationspecifies 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-modeproperty, with a setting ofsql-script(orboth) for DDL file(s) to be written.- See Also:
-
CREATE_JDBC_DDL_FILE
The propertyeclipselink.create-ddl-jdbc-file-namespecifies the name of the DDL file which is used to create database tables.This property should be used in conjunction with the
eclipselink.application-locationproperty to specify a location on the file system for DDL file(s) to be written.- See Also:
-
DROP_JDBC_DDL_FILE
The propertyeclipselink.drop-ddl-jdbc-file-namespecifies the name of the DDL file which is used to drop database tables.This property should be used in conjunction with the
eclipselink.application-locationproperty 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 propertyINTERACT_WITH_DBspecifies to enable or disable the execution of DDL (configured with theeclipselink.ddl-generationproperty) against a database.e.g. a command line setting of
-DINTERACT_WITH_DB=falsewill not output DDL to the database.Allowed Values:
false- do not output DDL to the databasetrue- output DDL to the database
- See Also:
-
DDL_GENERATION_MODE
Theeclipselink.ddl-generation.output-modeproperty 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_GENERATIONboth-DDL_BOTH_GENERATION
- See Also:
-
DDL_GENERATION_INDEX_FOREIGN_KEYS
Theeclipselink.ddl-generation.index-foreign-keysproperty 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:
-
SCHEMA_VALIDATION_MODE
Theeclipselink.schema-validation.modeproperty specifies database schema validation mode. By default, thesimplevalidation mode is selected. Allowed Values:simple(DEFAULT)full(experimental feature)
- See Also:
-
SCHEMA_VALIDATION_MODE_SIMPLE
Thesimplevalue of theeclipselink.schema-validation.modeproperty. Specifies, that simple schema validation shall be performed. Simple schema validation checks missing tables and missing or surplus columns in the existing tables.- See Also:
-
SCHEMA_VALIDATION_MODE_FULL
Thefullvalue of theeclipselink.schema-validation.modeproperty. Specifies, that full schema validation shall be performed. Full schema validation also checks differences in columns definitions. This feature is experimental.- See Also:
-
DDL_SQL_SCRIPT_GENERATION
The parameter valuesql-scriptspecifies that DDL will be written to file(s).For use with the
eclipselink.ddl-generation.output-modeproperty.- See Also:
-
DDL_DATABASE_GENERATION
The parameter valuedatabasespecifies that DDL will be written to the database.For use with the
eclipselink.ddl-generation.output-modeproperty, and is the default parameter value- See Also:
-
DDL_BOTH_GENERATION
The parameter valuebothspecifies that DDL will be written to file(s) and the database.For use with the
eclipselink.ddl-generation.output-modeproperty.- See Also:
-
DEFAULT_DDL_GENERATION_MODE
Theeclipselink.ddl-generation.output-modeparameter is configured to the default value ofdatabase.- See Also:
-
VALIDATE_EXISTENCE
Theeclipselink.validate-existenceproperty 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_ORDERTheeclipselink.order-updatesproperty 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:
falsetrue(DEFAULT)
- See Also:
-
PERSISTENCE_CONTEXT_COMMIT_ORDER
Theeclipselink.persistence-context.commit-orderproperty 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
DescriptorCustomizerand 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
Theeclipselink.profilerproperty configures the type of profiler used to capture runtime statistics.Allowed Values:
NoProfiler(DEFAULT)PerformanceMonitor- usePerformanceMonitorPerformanceProfiler- usePerformanceProfilerQueryMonitor- useQueryMonitorDMSProfiler- useorg.eclipse.persistence.tools.profiler.oracle.DMSPerformanceProfiler- the fully qualified name for a class that implements
SessionProfilerinterface
- See Also:
-
TUNING
Theeclipselink.tuningproperty configures the type of tuner to use to configure the persistence unit.A
SessionTunercan 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
Theeclipselink.memory.free-metadataproperty 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
Theeclipselink.transaction.join-existingproperty set totrueforces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.Note that if the property set to
truethen 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
Theeclipselink.persistence-context.reference-modeproperty configures whether there should be hard or soft references used within the Persistence Context. Default isHARD. 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.HARDWEAK-ReferenceMode.WEAKFORCE_WEAK-ReferenceMode.FORCE_WEAK
- See Also:
-
PESSIMISTIC_LOCK_TIMEOUT
Thejakarta.persistence.lock.timeoutproperty 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
Theeclipselink.pessimistic.lock.timeout.unitproperty 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
Thejakarta.persistence.query.timeoutproperty 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
Theeclipselink.query.timeout.unitproperty 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
Theeclipselink.persistence-context.close-on-commitproperty 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
Theeclipselink.persistence-context.persist-on-commitproperty 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:
falsetrue(DEFAULT)
- See Also:
-
PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES
Theeclipselink.persistence-context.commit-without-persist-rulesproperty 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
Theeclipselink.persistence-context.flush-modeproperty configures the EntityManager FlushMode to be set as a persistence property. This can be set to eitherAUTOorCOMMIT.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
Theeclipselink.oracle.proxy-typeproperty 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
Theeclipselink.cache.coordination.protocolproperty 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:
jmsjms-publishingrmirmi-iiopjgroups- the fully qualified name for a class that extends
TransportManagerabstract class.
- See Also:
-
COORDINATION_JGROUPS_CONFIG
Theeclipselink.cache.coordination.jgroups.configproperty 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
Theeclipselink.cache.coordination.jms.hostproperty 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
Theeclipselink.cache.coordination.jms.topicproperty configures cache coordination for a clustered environment.Only used for JMS coordination.
Sets the JMS topic name.
The default topic JNDI name isjms/EclipseLinkTopic.- See Also:
-
COORDINATION_JMS_FACTORY
Theeclipselink.cache.coordination.jms.factoryproperty 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 isjms/EclipseLinkTopicConnectionFactory.- See Also:
-
COORDINATION_JMS_REUSE_PUBLISHER
Theeclipselink.cache.coordination.jms.reuse-topic-publisherproperty 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
Theeclipselink.cache.coordination.rmi.announcement-delayproperty 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
Theeclipselink.cache.coordination.rmi.multicast-groupproperty 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
Theeclipselink.cache.coordination.rmi.multicast-group.portproperty 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
Theeclipselink.cache.coordination.rmi.packet-time-to-liveproperty 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
Theeclipselink.cache.coordination.rmi.urlproperty 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 aSessionCustomizerto avoid a separate persistence.xml per server.- See Also:
-
COORDINATION_NAMING_SERVICE
Theeclipselink.cache.coordination.naming-serviceproperty configures cache coordination for a clustered environment.Set the naming service to use, either "jndi" or "rmi".
Allowed Values:
jndirmi
- See Also:
-
COORDINATION_JNDI_USER
Theeclipselink.cache.coordination.jndi.userproperty 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
Theeclipselink.cache.coordination.jndi.passwordproperty 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
Theeclipselink.cache.coordination.jndi.initial-context-factoryproperty 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
Theeclipselink.cache.coordination.remove-connection-on-errorproperty 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
Theeclipselink.cache.coordination.propagate-asynchronouslyproperty 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
Theeclipselink.cache.coordination.thread.pool.sizeproperty 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 notification (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
Theeclipselink.cache.coordination.serializerproperty 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
Theeclipselink.cache.coordination.channelproperty 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 isEclipseLinkCommandChannel.
If multiple EclipseLink deployment reside on the same network, they should use different channels.- See Also:
-
COMPOSITE_UNIT
Theeclipselink.composite-unitproperty 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
Theeclipselink.composite-unit.memberproperty 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
Theeclipselink.composite-unit.propertiesproperty 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
Theeclipselink.remote.protocolproperty 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
RemoteConnectionabstract class
- See Also:
-
REMOTE_URL
Theeclipselink.remote.client.urlproperty 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
Theeclipselink.remote.server.nameproperty 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
Theeclipselink.nosql.connection-specproperty 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
Theeclipselink.nosql.connection-factoryproperty 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
Theeclipselink.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
Theeclipselink.nosql.property.userproperty specifies user name for NoSQL connection.
Note thatjakarta.persistence.jdbc.useris also supported.- See Also:
-
NOSQL_PASSWORD
Theeclipselink.nosql.property.passwordproperty specifies password for NoSQL connection.
Note thatjakarta.persistence.jdbc.passwordis also supported.- See Also:
-
JDBC_CONNECTOR
Theeclipselink.jdbc.connectorproperty.
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
Theeclipselink.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
Theeclipselink.jdbc.result-set-access-optimizationproperty 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 drawback 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 optimizationtrue- use optimization
Default value is
ObjectLevelReadQuery.isResultSetAccessOptimizedQueryDefault = false;- See Also:
-
SERIALIZER
Theeclipselink.serializerproperty specifies class name for session serializer (must implementSerializer)Default value is
org.eclipse.persistence.sessions.serializers.JavaSerializer- See Also:
-
JPQL_TOLERATE
Theeclipselink.tolerate-invalid-jpqlproperty allows anEntityManagerto 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
Theeclipselink.locking.timestamp.localproperty 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
Theeclipselink.jpa.sqlcall.deferral.defaultproperty 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
Theeclipselink.jpa.naming_into_indexedproperty 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 ={@literal >} 10, param2 ={@literal >} '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 controls how much time loop wait before it tries to acquire lock for current thread again. If the value is set above 0 deadlock 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 controls how much time ConcurrencyManager will wait before it will identify, that thread which builds new object/entity instance should be identified as a potential deadlock 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 controls 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 controls 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 controls 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
InterruptedExceptionfired 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
ConcurrencyExceptionfired 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 acquisitiontrue- 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 seeObjectBuilderObjectBuildercould be one of the primary sources pressure on concurrency manager. Most of the cache key acquisition and releasing is taking place during object building. Enabletruethis 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 buildingfalse(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
ObjectBuilderIf "eclipselink.concurrency.manager.object.building.semaphore" property istruedefault 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 istruedefault 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_VALIDATIONtrue- 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
Theeclipselink.login.encryptorproperty configures a custom implementation ofSecurableclass used to encrypt and decrypt database password loaded fromjakarta.persistence.jdbc.passwordproperty. Usage of this property avoids limitation ofSessionCustomizerwhich is called when all other properties have been processed (too late when database login needs to be configured). If this property is not specifiedJCEEncryptoras a default encryptor is used.Allowed Values:
- the fully qualified name for a class that implements
Securableinterface
- 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.
-
-
Method Details
-
getOverriddenLogStringForProperty
INTERNAL: Return the overridden log string.- Parameters:
propertyName- property which value should be overridden in the log- Returns:
- the overridden log string
-
getSupportedNonServerSessionProperties
-
ID_VALIDATIONproperty with valueNULL.