Class PersistenceUnitProperties


  • public class PersistenceUnitProperties
    extends java.lang.Object
    The class defines EclipseLink persistence unit property names. These values are used to assist in the configuration of properties passed to 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:
    Persistence.createEntityManagerFactory(String, Map)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ALLOW_CONVERT_RESULT_TO_BOOLEAN
      The "eclipselink.sql.allow-convert-result-to-boolean" property allows eclipselink to convert resultset values to boolean types.
      static java.lang.String ALLOW_NATIVE_SQL_QUERIES
      The "eclipselink.jdbc.allow-native-sql-queries" property specifies whether any user defined SQL is allowed within a persistence unit.
      static java.lang.String ALLOW_NULL_MAX_MIN
      The "eclipselink.allow-null-max-min" property configures if zero is considered a valid return value for MAX/MIN aggregate functions.
      static java.lang.String ALLOW_ZERO_ID
      Deprecated.
      replaced by ID_VALIDATION property with value "NULL".
      static java.lang.String APP_LOCATION
      The property "eclipselink.application-location" specifies the file system directory location where DDL files are written (output) to.
      static java.lang.String BATCH_WRITING
      The "eclipselink.jdbc.batch-writing" property configures the use of batch writing to optimize transactions with multiple writes.
      static java.lang.String BATCH_WRITING_SIZE
      The "eclipselink.jdbc.batch-writing.size" property configures the batch size used for batch writing.
      static java.lang.String BEAN_VALIDATION_NO_OPTIMISATION
      Property for disabling Bean Validation optimisations.
      static java.lang.String CACHE_EXTENDED_LOGGING
      The "eclipselink.cache.extended.logging" property control (enable/disable) usage logging of JPA L2 cache.
      static java.lang.String CACHE_QUERY_FORCE_DEFERRED_LOCKS
      The "eclipselink.cache.query-force-deferred-locks" property force all queries and relationships to use deferred lock strategy during object building and L2 cache population.
      static java.lang.String CACHE_SHARED_
      Property prefix "eclipselink.cache.shared." indicates whether entity's cache should be shared (non-isolated) for a specific entity type.
      static java.lang.String CACHE_SHARED_DEFAULT
      Default caching properties - apply to all entities.
      static java.lang.String CACHE_SIZE_
      Property prefix "eclipselink.cache.size." is used to specify the cache size for a specific entity type.
      static java.lang.String CACHE_SIZE_DEFAULT
      Default caching properties - apply to all entities.
      static java.lang.String CACHE_STATEMENTS
      The "eclipselink.jdbc.cache-statements" property specifies whether JDBC statements should be cached.
      static java.lang.String CACHE_STATEMENTS_SIZE
      The "eclipselink.jdbc.cache-statements.size" property specifies the number of statements held when using internal statement caching.
      static java.lang.String CACHE_TYPE_
      Property prefix "eclipselink.cache.type." sets the type of cache for a specific entity type.
      static java.lang.String CACHE_TYPE_DEFAULT
      Default caching properties - apply to all entities.
      static java.lang.String CANONICAL_MODEL_GENERATE_COMMENTS
      The "eclipselink.canonicalmodel.generate_comments" optional property can be used to disable usage of comments in declaration of Generated annotation.
      static java.lang.String CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT
      Default value for the "eclipselink.canonicalmodel.generate_comments" optional property.
      static java.lang.String CANONICAL_MODEL_GENERATE_GENERATED
      The "eclipselink.canonicalmodel.use_generated" optional property can be used to disable generation of javax.annotation.Generated annotation.
      static java.lang.String CANONICAL_MODEL_GENERATE_GENERATED_DEFAULT
      Default value for the "eclipselink.canonicalmodel.use_generated" optional property.
      static java.lang.String CANONICAL_MODEL_GENERATE_TIMESTAMP
      The "eclipselink.canonicalmodel.generate_timestamp" optional property can be used to disable usage of date in declaration of javax.annotation.Generated annotation.
      static java.lang.String CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT
      Default value for the "eclipselink.canonicalmodel.generate_timestamp" optional property.
      static java.lang.String CANONICAL_MODEL_LOAD_XML
      The "eclipselink.canonicalmodel.load_xml" optional property can be used a performance enhancement between compile rounds.
      static java.lang.String CANONICAL_MODEL_LOAD_XML_DEFAULT
      Default value for the "eclipselink.canonicalmodel.load_xml" optional property.
      static java.lang.String CANONICAL_MODEL_PREFIX
      The "eclipselink.canonicalmodel.prefix" optional property specifies the prefix that will be added to the start of the class name of any canonical model class generated.
      static java.lang.String CANONICAL_MODEL_PREFIX_DEFAULT
      Default prefix that will be added to the start of the class name of any canonical model class generated.
      static java.lang.String CANONICAL_MODEL_SUB_PACKAGE
      The "eclipselink.canonicalmodel.subpackage" optional property specifies a sub-package name that can be used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located.
      static java.lang.String 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.
      static java.lang.String CANONICAL_MODEL_SUFFIX
      The "eclipselink.canonicalmodel.suffix" optional property specifies the suffix that will be added to the end of the class name of any canonical model class generated.
      static java.lang.String CANONICAL_MODEL_SUFFIX_DEFAULT
      Default suffix that will be added to the end of the class name of any canonical model class generated.
      static java.lang.String CANONICAL_MODEL_USE_STATIC_FACTORY
      The "eclipselink.canonicalmodel.use_static_factory" optional property can be used a performance enhancement between compile rounds within an IDE.
      static java.lang.String CANONICAL_MODEL_USE_STATIC_FACTORY_DEFAULT
      Default value for the "eclipselink.canonicalmodel.use_static_factory" optional property.
      static java.lang.String CATEGORY_LOGGING_LEVEL_
      Property prefix "eclipselink.logging.level." allows the category specific logging levels to be specified.
      static java.lang.String CDI_BEANMANAGER
      The "javax.persistence.bean.manager" property is used to set CDI BeanManager when available
      static java.lang.String CLASSLOADER
      The "eclipselink.classloader" property specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.
      static java.lang.String COMPOSITE_UNIT
      The "eclipselink.composite-unit" property indicates if it's a composite persistence unit ("true").
      static java.lang.String COMPOSITE_UNIT_MEMBER
      The "eclipselink.composite-unit.member" property indicates if the persistence unit must be a member of a composite persistence unit ("true"), can't be used as an independent persistence unit.
      static java.lang.String COMPOSITE_UNIT_PROPERTIES
      The "eclipselink.composite-unit.properties" property may be passed to createEntityManagerFactory method of a composite persistence unit to pass properties to member persistence units.
      static java.lang.String CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME
      This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
      static java.lang.String CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION
      This property control (enable/disable) if ConcurrencyException fired when dead-lock diagnostic is enabled.
      static java.lang.String CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION
      This property control (enable/disable) if InterruptedException fired when dead-lock diagnostic is enabled.
      static java.lang.String 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.
      static java.lang.String CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME
      This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
      static java.lang.String 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.
      static java.lang.String 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.
      static java.lang.String CONCURRENCY_MANAGER_MAX_SLEEP_TIME
      This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager.
      static java.lang.String CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS
      This property control number of threads in semaphore in ObjectBuilder If "eclipselink.concurrency.manager.object.building.semaphore" property is true default value is 10.
      static java.lang.String CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING
      This property control (enable/disable) semaphore in ObjectBuilder
      static java.lang.String CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS
      This property control (enable/disable) semaphore in WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)
      static java.lang.String 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 is true default value is 2.
      static java.lang.String 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.
      static java.lang.String CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT
      This property control semaphore the maximum time to wait for a permit in ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean) It's passed to Semaphore.tryAcquire(long, TimeUnit) Default value is 2000 (unit is ms).
      static java.lang.String CONNECTION_POOL
      Allow configuring a "eclipselink.connection-pool." properties.
      static java.lang.String CONNECTION_POOL_FAILOVER
      The "failover" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_INITIAL
      The "initial" property.
      This can be append to any connection pool property, i.e
      static java.lang.String CONNECTION_POOL_INTERNALLY_POOL_DATASOURCE
      Tell EclipseLink to use it's internal connection pool to pool connections from a datasource.
      static java.lang.String CONNECTION_POOL_JTA_DATA_SOURCE
      The "jtaDataSource" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_MAX
      The "max" property.
      This can be append to any connection pool property, i.e
      static java.lang.String CONNECTION_POOL_MIN
      The "min" property.
      This can be append to any connection pool property, i.e
      static java.lang.String CONNECTION_POOL_NON_JTA_DATA_SOURCE
      The "nonJtaDataSource" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_PASSWORD
      The "password" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_READ
      Allow configuring the "eclipselink.connection-pool.read." properties.
      static java.lang.String CONNECTION_POOL_SEQUENCE
      Allow configuring the "eclipselink.connection-pool.sequence." properties.
      static java.lang.String CONNECTION_POOL_SHARED
      The "shared" property.
      This can be append to the read connection pool, i.e
      static java.lang.String CONNECTION_POOL_URL
      The "url" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_USER
      The "user" property.
      This can be append to a connection pool property, i.e
      static java.lang.String CONNECTION_POOL_WAIT
      The "wait" property.
      This can be append to any connection pool property, i.e
      static java.lang.String COORDINATION_ASYNCH
      The "eclipselink.cache.coordination.propagate-asynchronously" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_CHANNEL
      The "eclipselink.cache.coordination.channel" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JGROUPS_CONFIG
      The "eclipselink.cache.coordination.jgroups.config" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JMS_FACTORY
      The "eclipselink.cache.coordination.jms.factory" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JMS_HOST
      The "eclipselink.cache.coordination.jms.host" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JMS_REUSE_PUBLISHER
      The "eclipselink.cache.coordination.jms.reuse-topic-publisher" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JMS_TOPIC
      The "eclipselink.cache.coordination.jms.topic" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JNDI_CONTEXT
      The "eclipselink.cache.coordination.jndi.initial-context-factory" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JNDI_PASSWORD
      The "eclipselink.cache.coordination.jndi.password" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_JNDI_USER
      The "eclipselink.cache.coordination.jndi.user" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_NAMING_SERVICE
      The "eclipselink.cache.coordination.naming-service" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_PROTOCOL
      The "eclipselink.cache.coordination.protocol" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_REMOVE_CONNECTION
      The "eclipselink.cache.coordination.remove-connection-on-error" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_RMI_ANNOUNCEMENT_DELAY
      The "eclipselink.cache.coordination.rmi.announcement-delay" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_RMI_MULTICAST_GROUP
      The "eclipselink.cache.coordination.rmi.multicast-group" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_RMI_MULTICAST_GROUP_PORT
      The "eclipselink.cache.coordination.rmi.multicast-group.port" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_RMI_PACKET_TIME_TO_LIVE
      The "eclipselink.cache.coordination.rmi.packet-time-to-live" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_RMI_URL
      The "eclipselink.cache.coordination.rmi.url" property configures cache coordination for a clustered environment.
      static java.lang.String COORDINATION_SERIALIZER
      The "eclipselink.cache.coordination.serializer" property configures how cache coordination serializes message sent between nodes.
      static java.lang.String COORDINATION_THREAD_POOL_SIZE
      The "eclipselink.cache.coordination.thread.pool.size" property configures thread pool size for cache coordination threads.
      static java.lang.String CREATE_JDBC_DDL_FILE
      The property "eclipselink.create-ddl-jdbc-file-name" specifies the name of the DDL file which is used to create database tables.
      static java.lang.String CREATE_ONLY
      The parameter value "create-tables" specifies that database tables should be created.
      static java.lang.String CREATE_OR_EXTEND
      The parameter value "create-or-extend-tables" specifies that database tables should be created and if existing, missing columns will be added.
      static java.lang.String DATABASE_EVENT_LISTENER
      The "eclipselink.cache.database-event-listener" property allows integration with a database event notification service.
      static java.lang.String DDL_BOTH_GENERATION
      The parameter value "both" specifies that DDL will be written to file(s) and the database.
      static java.lang.String DDL_DATABASE_GENERATION
      The parameter value "database" specifies that DDL will be written to the database.
      static java.lang.String DDL_GENERATION
      The "eclipselink.ddl-generation" property allows the database schema to be generated on deployment.
      static java.lang.String DDL_GENERATION_INDEX_FOREIGN_KEYS
      The "eclipselink.ddl-generation.index-foreign-keys" property specifies if an index should be automatically generated for foreign key constraints.
      static java.lang.String DDL_GENERATION_MODE
      The "eclipselink.ddl-generation.output-mode" property specifies if database schema should be generated on the database, to a file, or both.
      static java.lang.String DDL_SQL_SCRIPT_GENERATION
      The parameter value "sql-script" specifies that DDL will be written to file(s).
      static java.lang.String DEFAULT
      Default Suffix could be appended to some prefixes to form a property name setting the default for the persistence unit.
      static java.lang.String DEFAULT_APP_LOCATION
      The default location in the file system to output DDL files.
      static java.lang.String DEFAULT_CREATE_JDBC_FILE_NAME
      The default name of the DDL file which is used to create database tables.
      static java.lang.String DEFAULT_DDL_GENERATION_MODE
      The eclipselink.ddl-generation.output-mode parameter is configured to the default value of database.
      static java.lang.String DEFAULT_DROP_JDBC_FILE_NAME
      The default name of the DDL file which is used to drop database tables.
      static java.lang.String DEPLOY_ON_STARTUP
      The "eclipselink.deploy-on-startup" property controls whether EclipseLink creates the persistence unit when the application starts up, or when the persistence unit is first actually accessed by the application.
      static java.lang.String DESCRIPTOR_CUSTOMIZER_
      The "eclipselink.descriptor.customizer." is a prefix for a property used to configure a DescriptorCustomizer.
      static java.lang.String DROP_AND_CREATE
      The parameter value "drop-and-create-tables" specifies that database tables should be dropped, then created.
      static java.lang.String DROP_JDBC_DDL_FILE
      The property "eclipselink.drop-ddl-jdbc-file-name" specifies the name of the DDL file which is used to drop database tables.
      static java.lang.String DROP_ONLY
      The parameter value "drop-tables" specifies that database tables should be dropped only.
      static java.lang.String ECLIPSELINK_PERSISTENCE_UNITS
      This "eclipselink.persistenceunits" property specifies the set of persistence unit names that will be processed when generating the canonical model.
      static java.lang.String ECLIPSELINK_PERSISTENCE_XML
      The "eclipselink.persistencexml" property specifies the full resource name to look for the persistence XML files in.
      static java.lang.String ECLIPSELINK_PERSISTENCE_XML_DEFAULT
      The default resource location used to locate the persistence.xml configuration files.
      static java.lang.String ECLIPSELINK_SE_PUINFO
      The "eclipselink.se-puinfo" property specifies a SEPersistenceUnitInfo that is used create an EntityManagerFactory.
      static java.lang.String EXCEPTION_HANDLER_CLASS
      The "eclipselink.exception-handler" property allows an ExceptionHandler to be specified.
      static java.lang.String EXCLUDE_ECLIPSELINK_ORM_FILE
      The "eclipselink.exclude-eclipselink-orm" property configures the exclusion of an EclipseLink ORM mapping file for a specific persistence unit.
      static java.lang.String EXCLUSIVE_CONNECTION_IS_LAZY
      The "eclipselink.jdbc.exclusive-connection.is-lazy" property specifies when write connection is acquired lazily.
      static java.lang.String EXCLUSIVE_CONNECTION_MODE
      The "eclipselink.jdbc.exclusive-connection.mode" property specifies when reads are performed through the write connection.
      You can set this property while creating either an EntityManagerFactory (either in the map passed to the createEntityManagerFactory method, or in the persistence.xml file), or an EntityManager (in the map passed to the createEntityManager method).
      static java.lang.String FLUSH_CLEAR_CACHE
      The "eclipselink.flush-clear.cache" property defines EntityManager cache behavior after a call to flush method followed by a call to clear method.
      static java.lang.String FREE_METADATA
      The "eclipselink.memory.free-metadata" property configures the JPA internal deployment metadata to be released after deployment.
      static java.lang.String ID_VALIDATION
      The "eclipselink.id-validation" property defines which primary key components values are considered invalid.
      static java.lang.String INCLUDE_DESCRIPTOR_QUERIES
      The "eclipselink.session.include.descriptor.queries" property configures whether to enable the copying of all descriptor named queries to the session to be usable from the entity manager.
      static java.lang.String JAVASE_DB_INTERACTION
      The system property "INTERACT_WITH_DB" specifies to enable or disable the execution of DDL (configured with the "eclipselink.ddl-generation" property) against a database.
      static java.lang.String JDBC_ALLOW_PARTIAL_PARAMETERS
      Property "eclipselink.jdbc.allow-partial-bind-parameters" configures whether partial parameter binding should be allowed in the creation of JDBC prepared statements.
      static java.lang.String JDBC_BIND_PARAMETERS
      Property "eclipselink.jdbc.bind-parameters" configures whether parameter binding should be used in the creation of JDBC prepared statements.
      static java.lang.String JDBC_CONNECTIONS_INITIAL
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
      static java.lang.String JDBC_CONNECTIONS_MAX
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
      static java.lang.String JDBC_CONNECTIONS_MIN
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
      static java.lang.String JDBC_CONNECTIONS_WAIT
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_WAIT
      static java.lang.String JDBC_CONNECTOR
      The "eclipselink.jdbc.connector" property.
      Allows a custom connector to be used to define how to connect to the database.
      static java.lang.String JDBC_DRIVER
      The "javax.persistence.jdbc.driver" property specifies the JDBC DriverManager class name used for internal connection pooling when a data source is not being used.
      static java.lang.String JDBC_FORCE_BIND_PARAMETERS
      Property "eclipselink.jdbc.force-bind-parameters" enables parameter binding in the creation of JDBC prepared statements.
      static java.lang.String JDBC_PASSWORD
      The "javax.persistence.jdbc.password" property specifies the data source or JDBC password.
      static java.lang.String JDBC_PROPERTY
      The "eclipselink.jdbc.property." property allows passing of JDBC driver specific connection properties.
      static java.lang.String JDBC_READ_CONNECTIONS_INITIAL
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
      static java.lang.String JDBC_READ_CONNECTIONS_MAX
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
      static java.lang.String JDBC_READ_CONNECTIONS_MIN
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
      static java.lang.String JDBC_READ_CONNECTIONS_SHARED
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_SHARED
      static java.lang.String JDBC_RESULT_SET_ACCESS_OPTIMIZATION
      The "eclipselink.jdbc.result-set-access-optimization" property allows to set whether a query should by default use ResultSet Access optimization.
      static java.lang.String JDBC_SEQUENCE_CONNECTION_POOL
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_SEQUENCE
      static java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_DATASOURCE
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_NON_JTA_DATA_SOURCE
      static java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_INITIAL
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
      static java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_MAX
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
      static java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_MIN
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
      static java.lang.String JDBC_URL
      The "javax.persistence.jdbc.url" property specifies the JDBC URL used for internal connection pooling when a data source is not being used.
      static java.lang.String JDBC_USER
      The "javax.persistence.jdbc.user" property specifies the data source or JDBC user name.
      static java.lang.String JDBC_WRITE_CONNECTIONS_INITIAL
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
      static java.lang.String JDBC_WRITE_CONNECTIONS_MAX
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
      static java.lang.String JDBC_WRITE_CONNECTIONS_MIN
      Deprecated.
      as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
      static java.lang.String JOIN_EXISTING_TRANSACTION
      The "eclipselink.transaction.join-existing" property set to "true" forces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.
      static java.lang.String JPQL_PARSER
      The "eclipselink.jpql.parser" property allows the JPQL parser to be configured.
      static java.lang.String JPQL_TOLERATE
      The "eclipselink.tolerate-invalid-jpql" property allows an EntityManager to be created even in the event that an application has invalid JPQL statements declared in annotations or xml.
      static java.lang.String JPQL_VALIDATION
      The "eclipselink.jpql.validation" property allows the JPQL parser validation level to be configured.
      static java.lang.String JTA_DATASOURCE
      The "javax.persistence.jtaDataSource" property specifies the JTA data source name that will look up a valid DataSource.
      static java.lang.String LOGGING_CONNECTION
      Property "eclipselink.logging.connection" indicates if the connection in use should have its identity included in each log message.
      static java.lang.String LOGGING_EXCEPTIONS
      Property "eclipselink.logging.exceptions" indicates if exception stack traces should be included in each log message.
      By default stack trace is logged for SEVERE all the time and at FINER level for WARNING or less.
      static java.lang.String LOGGING_FILE
      The "eclipselink.logging.file" property configures a file location where the log will be output to instead of standard out.
      static java.lang.String LOGGING_LEVEL
      The "eclipselink.logging.level" property allows the default logging levels to be specified.
      static java.lang.String LOGGING_LOGGER
      The "eclipselink.logging.logger" property specifies the type of logger.
      static java.lang.String LOGGING_PARAMETERS
      By default sql bind parameters are displayed in exceptions and logs when the log level is FINE or greater.
      static java.lang.String LOGGING_SESSION
      Property "eclipselink.logging.session" indicates if the session in use should have its identity included in each log message.
      static java.lang.String LOGGING_THREAD
      Property "eclipselink.logging.thread" indicates if current thread should have its identity included in each log message.
      static java.lang.String LOGGING_TIMESTAMP
      The "eclipselink.logging.timestamp" property configures if the current time stamp should be included in each log message.
      static java.lang.String LOGIN_ENCRYPTOR
      The "eclipselink.login.encryptor" property configures a custom implementation of Securable class used to encrypt and decrypt database password loaded from "jakarta.persistence.jdbc.password" property.
      static java.lang.String METADATA_SOURCE
      The "eclipselink.metadata-source"property configures the type of MetadataSource implementation to use to read Metadata
      static java.lang.String METADATA_SOURCE_PROPERTIES_FILE
      The property "eclipselink.metadata-source.properties.file" specifies the name of the metadata repository properties file to read from using classloader to find the resource.
      static java.lang.String METADATA_SOURCE_RCM_COMMAND
      The "eclipselink.metadata-source.send-refresh-command" property works with cache coordination for a clustered environment to.
      static java.lang.String METADATA_SOURCE_XML_FILE
      The property "eclipselink.metadata-source.xml.file" specifies the name of the metadata repository xml file to read from using classloader to find the resource
      static java.lang.String METADATA_SOURCE_XML_URL
      The property "eclipselink.metadata-source.xml.URL" specifies the name of the metadata repository xml URL to read from.
      static java.lang.String MULTITENANT_PROPERTY_DEFAULT
      The "eclipselink.tenant-id" property specifies the default context property used to populate multitenant entities.
      static java.lang.String MULTITENANT_SCHEMA_PROPERTY_DEFAULT
      The "eclipselink.tenant-schema-id" property specifies the context property used to distinguish tenants when using global schema per tenant multitenant strategy.
      static java.lang.String MULTITENANT_SHARED_CACHE
      Property "eclipselink.multitenant.tenants-share-cache" specifies that multitenant entities will share the L2 cache.
      static java.lang.String MULTITENANT_SHARED_EMF
      Property "eclipselink.multitenant.shared-emf" is used to indicate that multitenant entities will be used within a shared entity manager factory.
      static java.lang.String MULTITENANT_STRATEGY
      The "eclipselink.multitenant.strategy" property specifies the global, project wide multitenancy strategy.
      static java.lang.String NAMING_INTO_INDEXED
      The "eclipselink.jpa.naming_into_indexed" property defines if stored procedure parameters passed by name should be transformed into positional/index based passing if property value will be true. e.g.
      static java.lang.String NATIVE_QUERY_UPPERCASE_COLUMNS
      The "eclipselink.jdbc.uppercase-columns" property configures native SQL queries are used, the JDBC meta-data may return column names in lower case on some platforms.
      static java.lang.String NATIVE_SQL
      The "eclipselink.jdbc.native-sql" property specifies whether generic SQL should be used or platform specific 'native' SQL.
      static java.lang.String NON_JTA_DATASOURCE
      The "javax.persistence.nonJtaDataSource" property specifies the non-JTA data source name that will look up a valid DataSource.
      static java.lang.String NONE
      The parameter value "none" specifies that database tables should not be created or dropped.
      static java.lang.String NOSQL_CONNECTION_FACTORY
      The "eclipselink.nosql.connection-factory" property allows the JCA ConnectionFactory to be specified for a NoSQL or EIS adapter.
      static java.lang.String NOSQL_CONNECTION_SPEC
      The "eclipselink.nosql.connection-spec" property allows the connection information for an NoSQL or EIS datasource to be specified.
      static java.lang.String NOSQL_PASSWORD
      The "eclipselink.nosql.property.password" property specifies password for NoSQL connection.
      Note that "javax.persistence.jdbc.password" is also supported.
      static java.lang.String NOSQL_PROPERTY
      The "eclipselink.nosql.property." property prefix allows setting NoSQL connection properties.
      static java.lang.String NOSQL_USER
      The "eclipselink.nosql.property.user" property specifies user name for NoSQL connection.
      Note that "javax.persistence.jdbc.user" is also supported.
      static java.lang.String ORACLE_PROXY_TYPE
      The "eclipselink.oracle.proxy-type" property is used to specify proxy type that should be passed to OracleConnection.openProxySession method.
      static java.lang.String ORDER_UPDATES
      Deprecated.
      as of EclipseLink 2.6 replaced by PERSISTENCE_CONTEXT_COMMIT_ORDER
      static java.lang.String ORM_SCHEMA_VALIDATION
      The "eclipselink.orm.validate.schema" property set on the session is used to override orm.xml schema validation from its default of "false".
      static java.lang.String PARTITIONING
      The "eclipselink.partitioning" property specifies the default PartitioningPolicy for a persistence unit.
      A PartitioningPolicy is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC.
      Partitioning can provide improved scalability by allowing multiple database machines to service requests.
      static java.lang.String PARTITIONING_CALLBACK
      The "eclipselink.partitioning.callback" is used to integrate with an external DataSource's data affinity support, such as UCP.
      static java.lang.String PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT
      The "eclipselink.persistence-context.close-on-commit" property specifies that the EntityManager will be closed or not used after commit (not extended).
      static java.lang.String PERSISTENCE_CONTEXT_COMMIT_ORDER
      The "eclipselink.persistence-context.commit-order" property defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation.
      static java.lang.String PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES
      The "eclipselink.persistence-context.commit-without-persist-rules" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are found ignoring any absence of CascadeType.PERSIST settings.
      static java.lang.String PERSISTENCE_CONTEXT_FLUSH_MODE
      The "eclipselink.persistence-context.flush-mode" property configures the EntityManager FlushMode to be set as a persistence property.
      static java.lang.String PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT
      The "eclipselink.persistence-context.persist-on-commit" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are cascade persist.
      static java.lang.String PERSISTENCE_CONTEXT_REFERENCE_MODE
      The "eclipselink.persistence-context.reference-mode" property configures whether there should be hard or soft references used within the Persistence Context.
      static java.lang.String PESSIMISTIC_LOCK_TIMEOUT
      The "javax.persistence.lock.timeout" property configures the WAIT timeout used in pessimistic locking, if the database query exceeds the timeout the database will terminate the query and return an exception.
      static java.lang.String PESSIMISTIC_LOCK_TIMEOUT_UNIT
      The "eclipselink.pessimistic.lock.timeout.unit" property configures the query timeout unit value.
      static java.lang.String PROFILER
      The "eclipselink.profiler" property configures the type of profiler used to capture runtime statistics.
      static java.lang.String PROJECT_CACHE
      The "eclipselink.project-cache" property configures the type of ProjectCache implementation to use to retrieve and store projects representing the metadata for the project.
      static java.lang.String PROJECT_CACHE_FILE
      The property "eclipselink.project-cache.java-serialization.file" specifies the name of the file to read/write a serialized project representing the application's metadata
      static java.util.Map<java.lang.String,​java.lang.String> PROPERTY_LOG_OVERRIDES
      INTERNAL: The following properties will not be displayed through logging but instead have an alternate value shown in the log.
      static java.lang.String QUERY_CACHE
      Property prefix "eclipselink.cache.query-results" used to configure the default option for query results caching.
      static java.lang.String QUERY_RESULTS_CACHE_VALIDATION
      This property control (enable/disable) query result cache validation in UnitOfWorkImpl.internalExecuteQuery(org.eclipse.persistence.queries.DatabaseQuery, org.eclipse.persistence.internal.sessions.AbstractRecord)
      static java.lang.String QUERY_TIMEOUT
      The "javax.persistence.query.timeout" property configures the default query timeout value.
      static java.lang.String QUERY_TIMEOUT_UNIT
      The "eclipselink.query.timeout.unit" property configures the query timeout unit value.
      static java.lang.String REMOTE_PROTOCOL
      The "eclipselink.remote.protocol" property configures remote JPA for a client or server.
      static java.lang.String REMOTE_SERVER_NAME
      The "eclipselink.remote.server.name" property configures remote JPA for a server.
      static java.lang.String REMOTE_URL
      The "eclipselink.remote.client.url" property configures remote JPA for a client.
      static java.lang.String SCHEMA_DATABASE_MAJOR_VERSION
      If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "javax.persistence.database-major-version" property should be specified as needed.
      static java.lang.String SCHEMA_DATABASE_MINOR_VERSION
      If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "javax.persistence.database-minor-version" property should be specified as needed.
      static java.lang.String 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 "javax.persistence.database-product-name" property must be specified.
      static java.lang.String SCHEMA_GENERATION_CONNECTION
      The "javax.persistence.schema-generation.connection" property specifies the JDBC connection to be used for schema generation.
      static java.lang.String SCHEMA_GENERATION_CREATE_ACTION
      The parameter value "create"
      static java.lang.String 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.
      static java.lang.String SCHEMA_GENERATION_CREATE_SCRIPT_SOURCE
      The "javax.persistence.schema-generation.create-script-source" is used for script execution.
      static java.lang.String SCHEMA_GENERATION_CREATE_SOURCE
      The "javax.persistence.schema-generation.create-source" property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.
      static java.lang.String SCHEMA_GENERATION_DATABASE_ACTION
      The "javax.persistence.schema-generation.database.action" property specifies the action to be taken by the persistence provider with regard to the database artifacts.
      static java.lang.String SCHEMA_GENERATION_DROP_ACTION
      The parameter value "drop"
      static java.lang.String SCHEMA_GENERATION_DROP_AND_CREATE_ACTION
      The parameter value "drop-and-create"
      static java.lang.String SCHEMA_GENERATION_DROP_SCRIPT_SOURCE
      The "javax.persistence.schema-generation.drop-script-source" is used for script execution.
      static java.lang.String SCHEMA_GENERATION_DROP_SOURCE
      The "javax.persistence.schema-generation.drop-source" property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.
      static java.lang.String SCHEMA_GENERATION_METADATA_SOURCE
      The parameter value "metadata"
      static java.lang.String SCHEMA_GENERATION_METADATA_THEN_SCRIPT_SOURCE
      The parameter value "metadata-then-script"
      static java.lang.String SCHEMA_GENERATION_NONE_ACTION
      The parameter value "none"
      static java.lang.String SCHEMA_GENERATION_SCRIPT_SOURCE
      The parameter value "script"
      static java.lang.String SCHEMA_GENERATION_SCRIPT_TERMINATE_STATEMENTS
      When the "eclipselink.ddlgen-terminate-statements" property is set to true and a DDL script is being generated, the value of DatabasePlatform.getStoredProcedureTerminationToken() is appended to the end of each statement.
      static java.lang.String SCHEMA_GENERATION_SCRIPT_THEN_METADATA_SOURCE
      The parameter value "script-then-metadata"
      static java.lang.String SCHEMA_GENERATION_SCRIPTS_ACTION
      The "javax.persistence.schema-generation.scripts.action" property specifies which scripts are to be generated by the persistence provider.
      static java.lang.String SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET
      If scripts are to be generated, the target locations for the writing of these scripts must be specified.
      static java.lang.String SCHEMA_GENERATION_SCRIPTS_DROP_TARGET
      If scripts are to be generated, the target locations for the writing of these scripts must be specified.
      static java.lang.String 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.
      static java.lang.String SEQUENCING_SEQUENCE_DEFAULT
      The "eclipselink.sequencing.default-sequence-to-table" property determines the default behavior when a GeneratedValue of type SEQUENCE is used on a database platform that does not support SEQUENCE generation.
      static java.lang.String SEQUENCING_START_AT_NEXTVAL
      By default, EclipseLink generates sequence values at (NEXTVAL - allocationSize).
      static java.lang.String SERIALIZER
      The "eclipselink.serializer" property specifies class name for session serializer (must implement Serializer)
      static java.lang.String SESSION_CUSTOMIZER
      The "eclipselink.session.customizer" property configures a SessionCustomizer used to alter the runtime configuration through API.
      static java.lang.String SESSION_EVENT_LISTENER_CLASS
      The "eclipselink.session-event-listener" property configures a session event listener class.
      static java.lang.String SESSION_NAME
      The "eclipselink.session-name" property configures a specific name to use when storing the singleton server session within the SessionManager.
      static java.lang.String SESSIONS_XML
      The "eclipselink.sessions-xml" property configures the use of the specified native sessions.xml configuration file.
      static java.lang.String SHARED_CACHE_MODE
      The "javax.persistence.sharedCache.mode" property determines whether second-level caching is in effect for the persistence unit.
      static java.lang.String SQL_CALL_DEFERRAL
      The "eclipselink.jpa.sqlcall.deferral.default" property defines if SQL calls should be deferred to end of transaction by default or not.
      static java.lang.String SQL_CAST
      The "eclipselink.jdbc.sql-cast" property specifies if platform specific CAST SQL operations should be used.
      static java.lang.String TABLE_CREATION_SUFFIX
      The "eclipselink.ddl.table-creation-suffix" property is used in conjunction with DDL generation options to append a string to the end of generated CREATE Table statements.
      static java.lang.String TARGET_DATABASE
      The "eclipselink.target-database" property configures the database that will be used controlling custom operations and SQL generation for the specified database.
      static java.lang.String TARGET_DATABASE_PROPERTIES
      The "eclipselink.target-database-properties" property configures additional properties for the configured target-database.
      static java.lang.String TARGET_SERVER
      The "eclipselink.target-server" property configures the ServerPlatform that will be used to enable integration with a host container.
      static java.lang.String TEMPORAL_MUTABLE
      The "eclipselink.temporal.mutable" property configures the default for detecting changes to temporal field (Date, Calendar).
      static java.lang.String THREAD_EXTENDED_LOGGING
      The "eclipselink.thread.extended.logging" property control (enable/disable) some additional logging messages like print error message if cached Entity is picked by different thread, or if EntityManager/UnitOfWork is reused/passed to different thread.
      static java.lang.String THREAD_EXTENDED_LOGGING_THREADDUMP
      The "eclipselink.thread.extended.logging.threaddump" property control (enable/disable) store and display thread dump.
      static java.lang.String THROW_EXCEPTIONS
      The "eclipselink.orm.throw.exceptions" property specifies if the first exception that occurs during deployment should be thrown, or if all exceptions should be caught and summary thrown at end of deployment attempt.
      static java.lang.String TRANSACTION_TYPE
      The "javax.persistence.transactionType" property specifies the transaction type for the persistence unit.
      static java.lang.String TUNING
      The "eclipselink.tuning"property configures the type of tuner to use to configure the persistence unit.
      static java.lang.String UPPERCASE_COLUMN_NAMES
      The "eclipselink.jpa.uppercase-column-names" property configures JPA processing to uppercase all column name definitions.
      static java.lang.String USE_LOCAL_TIMESTAMP
      The "eclipselink.locking.timestamp.local" property defines if locking policies should default to local time(true) or server time(false).
      static java.lang.String VALIDATE_EXISTENCE
      The "eclipselink.validate-existence" property configures if the existence of an object should be verified on persist(), otherwise it will assume to be new if not in the persistence context.
      static java.lang.String VALIDATION_GROUP_PRE_PERSIST
      The "javax.persistence.validation.group.pre-persist" property specifies the name of the validator groups to execute for preUpdate event.
      static java.lang.String VALIDATION_GROUP_PRE_REMOVE
      The "javax.persistence.validation.group.pre-remove" property specifies the name of the validator groups to execute for preRemove event.
      static java.lang.String VALIDATION_GROUP_PRE_UPDATE
      The "javax.persistence.validation.group.pre-update" property specifies the name of the validator groups to execute for preUpdate event.
      static java.lang.String VALIDATION_MODE
      The "javax.persistence.validation.mode" property specifies whether the automatic lifecycle event validation is in effect.
      static java.lang.String VALIDATION_ONLY_PROPERTY
      The "eclipselink.validation-only" property validates deployment which includes initializing descriptors but does not connect (no login to the database).
      static java.lang.String VALIDATOR_FACTORY
      The "javax.persistence.validation.factory" property specifies an instance of javax.validation.ValidatorFactory used by EclipseLink to perform Automatic Validation upon Lifecycle Events.
      static java.lang.String WEAVING
      The "eclipselink.weaving" property configures whether weaving should be performed.
      static java.lang.String WEAVING_CHANGE_TRACKING
      The "eclipselink.weaving.changetracking" property configures whether AttributeLevelChangeTracking should be enabled through weaving.
      static java.lang.String WEAVING_EAGER
      The "eclipselink.weaving.eager" property configures whether EAGER mapping's attributes should be woven to use indirection.
      static java.lang.String WEAVING_FETCHGROUPS
      The "eclipselink.weaving.fetchgroups" property configures whether FetchGroup support should be enabled through weaving.
      static java.lang.String WEAVING_INTERNAL
      The "eclipselink.weaving.internal" property indicates whether internal optimizations should be enabled through weaving.
      static java.lang.String WEAVING_LAZY
      The "eclipselink.weaving.lazy" property configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.
      static java.lang.String WEAVING_MAPPEDSUPERCLASS
      The "eclipselink.weaving.mappedsuperclass" property configures whether MappedSuperclasses with no direct sub-classes will be woven.
      static java.lang.String WEAVING_REST
      The "eclipselink.weaving.rest" property configures whether classes will be woven to support EclipseLink JPA_RS functionality
    • Field Detail

      • TRANSACTION_TYPE

        public static final java.lang.String TRANSACTION_TYPE
        The "javax.persistence.transactionType" property specifies the transaction type for the persistence unit. This property overrides the value specified in the persistence.xml.

        Allowed Values (case sensitive string):

        • "JTA"
        • "RESOURCE_LOCAL"
        See Also:
        Constant Field Values
      • JTA_DATASOURCE

        public static final java.lang.String JTA_DATASOURCE
        The "javax.persistence.jtaDataSource" property specifies the JTA data source name that will look up a valid DataSource. 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:
        Constant Field Values
      • NON_JTA_DATASOURCE

        public static final java.lang.String NON_JTA_DATASOURCE
        The "javax.persistence.nonJtaDataSource" property specifies the non-JTA data source name that will look up a valid DataSource. 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:
        Constant Field Values
      • JDBC_DRIVER

        public static final java.lang.String JDBC_DRIVER
        The "javax.persistence.jdbc.driver" property specifies the JDBC DriverManager class name used for internal connection pooling when a data source is not being used.

        Allowed Values:

        • the fully qualified name for a class that implements Driver interface

        Persistence XML example:

         <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />

        The previous value for this property "eclipselink.jdbc.driver" is now deprecated and should be replaced with this new name.

        See Also:
        Constant Field Values
      • JDBC_URL

        public static final java.lang.String JDBC_URL
        The "javax.persistence.jdbc.url" property specifies the JDBC URL used for internal connection pooling when a data source is not being used.

        Allowed Values:

        • a string which represents a valid URL for the specified JDBC driver

        Persistence XML example:

         <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/mysql" />

        The previous value for this property "eclipselink.jdbc.url" is now deprecated and should be replaced with this new name.

        See Also:
        Constant Field Values
      • JDBC_USER

        public static final java.lang.String JDBC_USER
        The "javax.persistence.jdbc.user" property specifies the data source or JDBC user name.

        Persistence XML example:

         <property name="javax.persistence.jdbc.user" value="user-name" />

        The previous value for this property "eclipselink.jdbc.user" is now deprecated and should be replaced with this new name.

        See Also:
        Constant Field Values
      • JDBC_PASSWORD

        public static final java.lang.String JDBC_PASSWORD
        The "javax.persistence.jdbc.password" property specifies the data source or JDBC password.

        Persistence XML example:

         <property name="javax.persistence.jdbc.password" value="password" />

        The previous value for this property "eclipselink.jdbc.password" is now deprecated and should be replaced with this new name.

        See Also:
        Constant Field Values
      • NATIVE_SQL

        public static final java.lang.String NATIVE_SQL
        The "eclipselink.jdbc.native-sql" property specifies whether generic SQL should be used or platform specific 'native' SQL. The platform specific SQL customizes join syntax, date operators, sequencing, ...

        Allowed Values (String):

        • "false" (DEFAULT) - use generic SQL
        • "true" - use database specific SQL
        See Also:
        DatabaseLogin.setUsesNativeSQL(boolean), Constant Field Values
      • SQL_CAST

        public static final java.lang.String SQL_CAST
        The "eclipselink.jdbc.sql-cast" property specifies if platform specific CAST SQL operations should be used. Casting is normally not required, and can cause issues when used.

        Allowed Values (String):

        • "false" (DEFAULT) - disable platform specific cast
        • "true" - enable platform specific cast
        See Also:
        DatabasePlatform.setIsCastRequired(boolean), Constant Field Values
      • JPQL_PARSER

        public static final java.lang.String JPQL_PARSER
        The "eclipselink.jpql.parser" property allows the JPQL parser to be configured.

        Allowed Values (String):

        • "org.eclipse.persistence.internal.jpa.jpql.HermesParser" (DEFAULT) - new parser as of EclipseLink 2.4, provides extended JPQL support.
        • "org.eclipse.persistence.queries.ANTLRQueryBuilder" - old parser used previous to EclipseLink 2.4, can be used for backward compatibility.
        See Also:
        ParserType, JPAQueryBuilder, Constant Field Values
      • JPQL_VALIDATION

        public static final java.lang.String JPQL_VALIDATION
        The "eclipselink.jpql.validation" property allows the JPQL parser validation level to be configured.

        This setting is only supported in the Hermes parser.

        Allowed Values (String):

        • "EclipseLink" (DEFAULT) - allows EclipseLink JPQL extensions.
        • "JPA 1.0" - only allows valid JPA 1.0 JPQL.
        • "JPA 2.0" - only allows valid JPA 2.0 JPQL.
        • "JPA 2.1" - only allows valid JPA 2.1 JPQL.
        • "None" - no JPQL validation is done.
        See Also:
        JPQL_PARSER, ParserValidationType, Constant Field Values
      • CONNECTION_POOL_WAIT

        public static final java.lang.String CONNECTION_POOL_WAIT
        The "wait" property.
        This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.wait" which specifies the timeout time in milliseconds (ms) that will be waited for an available connection before an exception is thrown.

        Ignored in case external connection pools are used.

        Default: 180000 ms (3 minutes).

        Allowed Values:

        • a string containing a positive integer value. A value of 0 means wait forever.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_MAX

        public static final java.lang.String CONNECTION_POOL_MAX
        The "max" property.
        This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.max".
        Specifies the maximum number of read connection in the internal connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_MIN

        public static final java.lang.String CONNECTION_POOL_MIN
        The "min" property.
        This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.min".
        Specifies the minimum number of connections in EclipseLink connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_INITIAL

        public static final java.lang.String CONNECTION_POOL_INITIAL
        The "initial" property.
        This can be append to any connection pool property, i.e. "eclipselink.jdbc.connection_pool.default.initial" EclipseLink JDBC (internal) connection pools properties. Initial number of connections in EclipseLink connection pool. This is the number of connections connected at startup. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_SHARED

        public static final java.lang.String CONNECTION_POOL_SHARED
        The "shared" property.
        This can be append to the read connection pool, i.e. "eclipselink.jdbc.connection_pool.read.shared".
        Configures whether connections in EclipseLink read connection pool should be shared (not exclusive). Connection sharing means the same JDBC connection will be used concurrently for multiple reading threads.

        This property is ignored in case external connection pools are used.

        Allowed Values (String):

        • "false" (DEFAULT) - indicates read connections will not be shared
        • "true" - indicates read connections can be shared
        See Also:
        CONNECTION_POOL_READ, Constant Field Values
      • CONNECTION_POOL_URL

        public static final java.lang.String CONNECTION_POOL_URL
        The "url" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.url".
        Configures the JDBC url to use for the connection pool. Only required if different than the default.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_JTA_DATA_SOURCE

        public static final java.lang.String CONNECTION_POOL_JTA_DATA_SOURCE
        The "jtaDataSource" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.jtaDataSource".
        Configures the JTA DataSource name to use for the connection pool. Only required if different than the default.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_NON_JTA_DATA_SOURCE

        public static final java.lang.String CONNECTION_POOL_NON_JTA_DATA_SOURCE
        The "nonJtaDataSource" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.nonJtaDataSource".
        Configures the non JTA DataSource name to use for the connection pool. Only required if different than the default.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_USER

        public static final java.lang.String CONNECTION_POOL_USER
        The "user" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.user".
        Configures the user name to use for the connection pool. Only required if different than the default.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_PASSWORD

        public static final java.lang.String CONNECTION_POOL_PASSWORD
        The "password" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.password".
        Configures the password to use for the connection pool. Only required if different than the default.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL_FAILOVER

        public static final java.lang.String CONNECTION_POOL_FAILOVER
        The "failover" property.
        This can be append to a connection pool property, i.e. "eclipselink.jdbc.connection_pool.node1.failover".
        Configures the connection pool(s) to fail-over to if this connection pool fails. A comma separate list is allowed if multiple failover pools are required.
        See Also:
        CONNECTION_POOL, Constant Field Values
      • CONNECTION_POOL

        public static final java.lang.String CONNECTION_POOL
        Allow configuring a "eclipselink.connection-pool." properties. The name of the connection pool must be appended to configure the pool, if no name is appended the default (write) pool is configured. The name of the property to configure must also be appended.

        A user defined connection pool can be configured or one of the following system pools:

        • "read" - pool used for non-transactional read queries, (defaults to default pool if not specified).
        • "default", "write", "" - default pool used for writing and reads if no read pool configured.
        • "sequence" - pool used for sequencing, (default pool/write connection used if not specified).

        A user defined pool is only used if specified in the EntityManager properties or ClientSession ConnectionPolicy, or if partitioning is used.

        The following connection pool properties can be configured:

        • "initial" - number of initial connections.
        • "min" - minimum number of connections.
        • "max" - maximum number of connections.
        • "wait" - amount of time to wait for a connection from the pool.
        • "url" - JDBC URL for the connection.
        • "shared" - only for the read connection pool, shares read connections across threads.
        • "jtaDataSource" - JTA DataSource name to use for the connection, if different than the default.
        • "nonJtaDataSource" - non JTA DataSource name to use for the connection, if different than the default.
        • "user" - user to use for the connection, if different than the default.
        • "password" - password to use for the connection, if different than the default.

        Persistence XML example:

         <property name="eclipselink.connection-pool.node2.min" value="16"/>
          <property name="eclipselink.connection-pool.node2.max" value="16"/>
          <property name="eclipselink.connection-pool.node2.url" value="jdbc:oracle:thin:@node2:1521:orcl"/>
        See Also:
        CONNECTION_POOL_READ, CONNECTION_POOL_SEQUENCE, CONNECTION_POOL_INITIAL, CONNECTION_POOL_MIN, CONNECTION_POOL_MAX, CONNECTION_POOL_WAIT, CONNECTION_POOL_USER, CONNECTION_POOL_PASSWORD, CONNECTION_POOL_URL, CONNECTION_POOL_JTA_DATA_SOURCE, CONNECTION_POOL_NON_JTA_DATA_SOURCE, CONNECTION_POOL_SHARED, ConnectionPool, Constant Field Values
      • CONNECTION_POOL_READ

        public static final java.lang.String CONNECTION_POOL_READ
        Allow configuring the "eclipselink.connection-pool.read." properties. The read connection pool is used for non-transaction read queries. By default a separate read connection pool is not used, and the default pool is used for read queries.

        One of the following connection pool properties must be appended.

        • "initial" - number of initial connections.
        • "min" - minimum number of connections.
        • "max" - maximum number of connections.
        • "wait" - amount of time to wait for a connection from the pool.
        • "url" - JDBC URL for the connection.
        • "shared" - only for the read connection pool, shares read connections across threads.
        • "jtaDataSource" - JTA DataSource name to use for the connection, if different than the default.
        • "nonJtaDataSource" - non JTA DataSource name to use for the connection, if different than the default.
        • "user" - user to use for the connection, if different than the default.
        • "password" - password to use for the connection, if different than the default.

        Persistence XML example:

         <property name="eclipselink.connection-pool.read.min" value="8"/>
          <property name="eclipselink.connection-pool.read.max" value="32"/>
          <property name="eclipselink.connection-pool.read.nonJtaDataSource" value="jdbc/readDataSource"/>
        See Also:
        CONNECTION_POOL_INITIAL, CONNECTION_POOL_MIN, CONNECTION_POOL_MAX, CONNECTION_POOL_WAIT, CONNECTION_POOL_USER, CONNECTION_POOL_PASSWORD, CONNECTION_POOL_URL, CONNECTION_POOL_JTA_DATA_SOURCE, CONNECTION_POOL_NON_JTA_DATA_SOURCE, CONNECTION_POOL_SHARED, ReadConnectionPool, Constant Field Values
      • CONNECTION_POOL_SEQUENCE

        public static final java.lang.String CONNECTION_POOL_SEQUENCE
        Allow configuring the "eclipselink.connection-pool.sequence." properties. The sequence connection pool is used to allocate generated Ids. This is only required for TABLE sequencing.

        By default a separate sequence connection pool is not used, and the default pool is used for sequencing.

        One of the following connection pool properties must be appended.

        • "initial" - number of initial connections.
        • "min" - minimum number of connections.
        • "max" - maximum number of connections.
        • "wait" - amount of time to wait for a connection from the pool.
        • "url" - JDBC URL for the connection.
        • "jtaDataSource" - JTA DataSource name to use for the connection, if different than the default.
        • "nonJtaDataSource" - non JTA DataSource name to use for the connection, if different than the default.
        • "user" - user to use for the connection, if different than the default.
        • "password" - password to use for the connection, if different than the default.

        Persistence XML example:

         <property name="eclipselink.connection-pool.sequence.min" value="1"/>
          <property name="eclipselink.connection-pool.sequence.max" value="1"/>
          <property name="eclipselink.connection-pool.sequence.nonJtaDataSource" value="jdbc/sequenceDataSource"/>
        See Also:
        CONNECTION_POOL_INITIAL, CONNECTION_POOL_MIN, CONNECTION_POOL_MAX, CONNECTION_POOL_WAIT, CONNECTION_POOL_USER, CONNECTION_POOL_PASSWORD, CONNECTION_POOL_URL, CONNECTION_POOL_JTA_DATA_SOURCE, CONNECTION_POOL_NON_JTA_DATA_SOURCE, ReadConnectionPool, Constant Field Values
      • CONNECTION_POOL_INTERNALLY_POOL_DATASOURCE

        public static final java.lang.String CONNECTION_POOL_INTERNALLY_POOL_DATASOURCE
        Tell EclipseLink to use it's internal connection pool to pool connections from a datasource.

        This property is useful when using EclipseLink with Gemini JPA because it internally wraps local database information in a datasource.

        Allowed Values (String):

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • JDBC_CONNECTIONS_WAIT

        @Deprecated
        public static final java.lang.String JDBC_CONNECTIONS_WAIT
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_WAIT
        The "eclipselink.jdbc.connections.wait-timeout" property which specifies the timeout time in milliseconds (ms) that will be waited for an available connection before an exception is thrown.

        Ignored in case external connection pools are used.

        Default: 180000 ms (3 minutes).

        Allowed Values:

        • a string containing a positive integer value. A value of 0 means wait forever.
        See Also:
        CONNECTION_POOL_WAIT, Constant Field Values
      • JDBC_CONNECTIONS_MAX

        @Deprecated
        public static final java.lang.String JDBC_CONNECTIONS_MAX
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
        The "eclipselink.jdbc.connections.max" property specifies the maximum number of read connection in the internal connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL_MAX, Constant Field Values
      • JDBC_CONNECTIONS_MIN

        @Deprecated
        public static final java.lang.String JDBC_CONNECTIONS_MIN
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
        The "eclipselink.jdbc.connections.min" property specifies the minimum number of connections in EclipseLink connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL_MIN, Constant Field Values
      • JDBC_CONNECTIONS_INITIAL

        @Deprecated
        public static final java.lang.String JDBC_CONNECTIONS_INITIAL
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
        The "eclipselink.jdbc.connections.initial" property EclipseLink JDBC (internal) connection pools properties. Initial number of connections in EclipseLink connection pool. This is the number of connections connected at startup. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL_INITIAL, Constant Field Values
      • JDBC_WRITE_CONNECTIONS_MAX

        @Deprecated
        public static final java.lang.String JDBC_WRITE_CONNECTIONS_MAX
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
        The "eclipselink.jdbc.write-connections.max" property specifies the maximum number of connections supported in the internal write connection pool. Maximum number of connections in EclipseLink write connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL_MAX, Constant Field Values
      • JDBC_WRITE_CONNECTIONS_MIN

        @Deprecated
        public static final java.lang.String JDBC_WRITE_CONNECTIONS_MIN
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
        The "eclipselink.jdbc.write-connections.min" property specifies the minimum number of connections in the internal write connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        Ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a positive integer value
        See Also:
        CONNECTION_POOL_MIN, Constant Field Values
      • JDBC_WRITE_CONNECTIONS_INITIAL

        @Deprecated
        public static final java.lang.String JDBC_WRITE_CONNECTIONS_INITIAL
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
        The "eclipselink.jdbc.write-connections.initial" property configures the number of connections connected at created at startup in the write connection pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        This property is ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a zero or greater integer value
        See Also:
        CONNECTION_POOL_INITIAL, Constant Field Values
      • JDBC_READ_CONNECTIONS_MAX

        @Deprecated
        public static final java.lang.String JDBC_READ_CONNECTIONS_MAX
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
        The "eclipselink.jdbc.read-connections.max" property configures the maximum number of connections in the read connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool (unless shared). By default a separate read connection pool is not used. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        This property is ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a zero or greater integer value

        See:

        See Also:
        JDBC_CONNECTIONS_WAIT, CONNECTION_POOL_MAX, Constant Field Values
      • JDBC_READ_CONNECTIONS_MIN

        @Deprecated
        public static final java.lang.String JDBC_READ_CONNECTIONS_MIN
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
        The "eclipselink.jdbc.read-connections.min" property configures the minimum number of connections in read connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the number of active threads, or server's thread pool size. By default a separate read connection pool is not used. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        This property is ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a zero or greater integer value
        See Also:
        CONNECTION_POOL_MIN, Constant Field Values
      • JDBC_READ_CONNECTIONS_INITIAL

        @Deprecated
        public static final java.lang.String JDBC_READ_CONNECTIONS_INITIAL
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
        The "eclipselink.jdbc.read-connections.initial" property configures the number of connections connected at created at startup in the read connection pool. By default a single shared (exclusive) read/write pool is used with min/max 32 connections and 1 initial.

        This property is ignored in case external connection pools are used.

        Allowed Values:

        • a string containing a zero or greater integer value
        See Also:
        CONNECTION_POOL_INITIAL, Constant Field Values
      • JDBC_READ_CONNECTIONS_SHARED

        @Deprecated
        public static final java.lang.String JDBC_READ_CONNECTIONS_SHARED
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_SHARED
        The "eclipselink.jdbc.read-connections.shared" property configures whether connections in EclipseLink read connection pool should be shared (not exclusive). Connection sharing means the same JDBC connection will be used concurrently for multiple reading threads.

        This property is ignored in case external connection pools are used.

        Allowed Values:

        • "false" (DEFAULT) - indicates read connections will not be shared
        • "true" - indicates read connections can be shared
        See Also:
        CONNECTION_POOL_SHARED, Constant Field Values
      • JDBC_SEQUENCE_CONNECTION_POOL_MAX

        @Deprecated
        public static final java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_MAX
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MAX
        The "eclipselink.jdbc.sequence-connection-pool.max" property configures the maximum number of connections in the sequence connection pool. If the maximum size is reached, threads requiring a connection will wait until one is released back to the pool.

        By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).

        This property is ignored in case external connection pools are used.

        Default: 2

        Allowed Values:

        • a string containing a zero or greater integer value.

        See:

        See Also:
        JDBC_SEQUENCE_CONNECTION_POOL, JDBC_CONNECTIONS_WAIT, CONNECTION_POOL_MAX, Constant Field Values
      • JDBC_SEQUENCE_CONNECTION_POOL_MIN

        @Deprecated
        public static final java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_MIN
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_MIN
        The "eclipselink.jdbc.sequence-connection-pool.min" property configures the minimum number of connections in sequence connection pool. Connections beyond the minimum will be disconnected when returned to the pool, so this should normally be equal to the maximum to avoid connecting/disconnecting.

        By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).

        This property is ignored in case external connection pools are used.

        Default: 2

        Allowed Values:

        • a string containing a zero or greater integer value.

        See:

        See Also:
        JDBC_SEQUENCE_CONNECTION_POOL, CONNECTION_POOL_MIN, Constant Field Values
      • JDBC_SEQUENCE_CONNECTION_POOL_INITIAL

        @Deprecated
        public static final java.lang.String JDBC_SEQUENCE_CONNECTION_POOL_INITIAL
        Deprecated.
        as of EclipseLink 2.2 replaced by CONNECTION_POOL_INITIAL
        The "eclipselink.jdbc.sequence-connection-pool.initial property configures the initial number of connections in sequence connection pool. This is the number of connections connected at startup.

        By default a separate sequence connection pool is not used (the sequence is allocated on the write connection).

        This property is ignored in case external connection pools are used.

        Default: 2

        Allowed Values:

        • a string containing a zero or greater integer value.

        See:

        See Also:
        JDBC_SEQUENCE_CONNECTION_POOL, CONNECTION_POOL_INITIAL, Constant Field Values
      • PARTITIONING

        public static final java.lang.String PARTITIONING
        The "eclipselink.partitioning" property specifies the default PartitioningPolicy for a persistence unit.
        A PartitioningPolicy is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC.
        Partitioning can provide improved scalability by allowing multiple database machines to service requests.

        If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.

        Allowed Values:

        See Also:
        Partitioning, PartitioningPolicy, Constant Field Values
      • JDBC_BIND_PARAMETERS

        public static final java.lang.String JDBC_BIND_PARAMETERS
        Property "eclipselink.jdbc.bind-parameters" configures whether parameter binding should be used in the creation of JDBC prepared statements.

        Usage of parameter binding is generally a performance optimization; allowing for SQL and prepared statement caching, as well as usage of batch writing.

        Allowed Values:

        • "false" - all values will be written literally into the generated SQL
        • "true" (DEFAULT) - all values will be bound as parameters in the generated SQL
        See Also:
        Constant Field Values
      • JDBC_ALLOW_PARTIAL_PARAMETERS

        public static final java.lang.String JDBC_ALLOW_PARTIAL_PARAMETERS
        Property "eclipselink.jdbc.allow-partial-bind-parameters" configures whether partial parameter binding should be allowed in the creation of JDBC prepared statements.

        EclipseLink determines binding behavior based on the database platform's support for binding. If the database platform doesn't support binding for a specific expression, EclipseLink disables all binding for the whole query. Setting this property to 'true' will allow EclipseLink to bind per expression, instead of per query.

        Usage of parameter binding is generally a performance optimization; allowing for SQL and prepared statement caching, as well as usage of batch writing.

        Allowed Values:

        • "false" (DEFAULT) - EclipseLink either binds all parameters or no parameters; depending on database support
        • "true" - EclipseLink binds parameters per SQL function/expression
        See Also:
        Constant Field Values
      • JDBC_FORCE_BIND_PARAMETERS

        public static final java.lang.String JDBC_FORCE_BIND_PARAMETERS
        Property "eclipselink.jdbc.force-bind-parameters" enables parameter binding in the creation of JDBC prepared statements. Some database platforms disable parameter binding on certain functions and relations. This property allows the user to force parameter binding to be enabled regardless.

        Allowed Values:

        • "false" (DEFAULT) - values will default to platform specific logic
        • "true" - bindings will use platform default
        See Also:
        JDBC_BIND_PARAMETERS, Constant Field Values
      • EXCLUSIVE_CONNECTION_MODE

        public static final java.lang.String EXCLUSIVE_CONNECTION_MODE
        The "eclipselink.jdbc.exclusive-connection.mode" property specifies when reads are performed through the write connection.
        You can set this property while creating either an EntityManagerFactory (either in the map passed to the createEntityManagerFactory method, or in the persistence.xml file), or an EntityManager (in the map passed to the createEntityManager method). Note that the latter overrides the former.

        Allowed Values:

        See Also:
        ExclusiveConnectionMode, Constant Field Values
      • EXCLUSIVE_CONNECTION_IS_LAZY

        public static final java.lang.String EXCLUSIVE_CONNECTION_IS_LAZY
        The "eclipselink.jdbc.exclusive-connection.is-lazy" property specifies when write connection is acquired lazily.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • CACHE_STATEMENTS_SIZE

        public static final java.lang.String CACHE_STATEMENTS_SIZE
        The "eclipselink.jdbc.cache-statements.size" property specifies the number of statements held when using internal statement caching.

        Default: 50

        Allowed Values:

        • a string containing a zero or greater integer value.
        See Also:
        Constant Field Values
      • CACHE_STATEMENTS

        public static final java.lang.String CACHE_STATEMENTS
        The "eclipselink.jdbc.cache-statements" property specifies whether JDBC statements should be cached. This is recommended when using EclipseLink's internal connection pooling.

        Allowed Values:

        • "false" (DEFAULT) - disable internal statement caching.
        • "true" - enable internal statement caching.

        Persistence XML example:

         <property name="eclipselink.jdbc.cache-statements" value="false"/>

        Java example:

         props.put(PersistenceUnitProperties.CACHE_STATEMENTS, "false");
        See Also:
        Constant Field Values
      • VALIDATOR_FACTORY

        public static final java.lang.String VALIDATOR_FACTORY
        The "javax.persistence.validation.factory" property specifies an instance of javax.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 of javax.validation.ValidationFactory by calling Validation.buildDefaultValidatorFactory().
        See Also:
        Constant Field Values
      • VALIDATION_MODE

        public static final java.lang.String VALIDATION_MODE
        The "javax.persistence.validation.mode" property specifies whether the automatic lifecycle event validation is in effect.

        Allowed Values:

        • "AUTO"
        • "CALLBACK"
        • "NONE"
        See Also:
        Constant Field Values
      • VALIDATION_GROUP_PRE_PERSIST

        public static final java.lang.String VALIDATION_GROUP_PRE_PERSIST
        The "javax.persistence.validation.group.pre-persist" property specifies the name of the validator groups to execute for preUpdate event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, the default Bean Validation group (the group Default) will be validated
        See Also:
        Constant Field Values
      • VALIDATION_GROUP_PRE_UPDATE

        public static final java.lang.String VALIDATION_GROUP_PRE_UPDATE
        The "javax.persistence.validation.group.pre-update" property specifies the name of the validator groups to execute for preUpdate event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, the default Bean Validation group (the group Default) will be validated
        See Also:
        Constant Field Values
      • VALIDATION_GROUP_PRE_REMOVE

        public static final java.lang.String VALIDATION_GROUP_PRE_REMOVE
        The "javax.persistence.validation.group.pre-remove" property specifies the name of the validator groups to execute for preRemove event. The value should be a string with fully qualified classnames separated by a comma (','). If this value is not specified in both persistence.xml or using this property, no validation will occur on remove.
        See Also:
        Constant Field Values
      • BEAN_VALIDATION_NO_OPTIMISATION

        public static final java.lang.String 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.TRUE to disable optimisations, set to Boolean.FALSE to re-enable them again.
        See Also:
        Constant Field Values
      • CACHE_SIZE_

        public static final java.lang.String CACHE_SIZE_
        Property prefix "eclipselink.cache.size." is used to specify the cache size for a specific entity type. The prefix must be followed by a valid entity type name.

        Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or DEFAULT suffix (indicating that the property value applies to all entities).

        For most cache types, the size is only the initial size, not a fixed or maximum size. For CacheType.SoftCache and CacheType.HardCache the size is the sub-cache size. The default cache size is 100.

        See Also:
        CACHE_SIZE_DEFAULT, Constant Field Values
      • CACHE_TYPE_

        public static final java.lang.String CACHE_TYPE_
        Property prefix "eclipselink.cache.type." sets the type of cache for a specific entity type. The prefix must be followed by a valid entity type name.

        Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or DEFAULT suffix (indicating that the property value applies to all entities).

        All valid values for CACHE_TYPE_ properties are declared in CacheType class. The default cache type is CacheType.SoftWeak.

        If you do not wish to cache entities at all, then set CACHE_SHARED_ to "false".

        See Also:
        CACHE_SHARED_, CacheType, CACHE_TYPE_DEFAULT, Constant Field Values
      • CACHE_SHARED_

        public static final java.lang.String CACHE_SHARED_
        Property prefix "eclipselink.cache.shared." indicates whether entity's cache should be shared (non-isolated) for a specific entity type. The prefix must be followed by a valid entity type name.

        Property names formed out of these prefixes by appending either entity name, or class name (indicating that the property values applies only to a particular entity) or DEFAULT suffix (indicating that the property value applies to all entities).

        If you do not wish to cache your entities, set this to "false".

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        CACHE_SHARED_DEFAULT, Constant Field Values
      • SHARED_CACHE_MODE

        public static final java.lang.String SHARED_CACHE_MODE
        The "javax.persistence.sharedCache.mode" property determines whether second-level caching is in effect for the persistence unit. This property overrides the value specified by the <shared-cache-mode> element in the persistence.xml.

        Allowed Values:

        • "ALL"
        • "NONE"
        • "ENABLE_SELECTIVE"
        • "DISABLE_SELECTIVE"
        • "UNSPECIFIED"
        See Also:
        SharedCacheMode, Constant Field Values
      • CACHE_SIZE_DEFAULT

        public static final java.lang.String 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:
        Constant Field Values
      • CACHE_TYPE_DEFAULT

        public static final java.lang.String 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 set CACHE_SHARED_DEFAULT.
        See Also:
        CACHE_SHARED_DEFAULT, Constant Field Values
      • CACHE_EXTENDED_LOGGING

        public static final java.lang.String CACHE_EXTENDED_LOGGING
        The "eclipselink.cache.extended.logging" property control (enable/disable) usage logging of JPA L2 cache. In case of "true" EclipseLink generates messages into log output about cache hit/miss new object population and object removal or invalidation. This kind of messages will by displayed only if logging level (property "eclipselink.logging.level") is "FINEST" It displays Entity class, ID and thread info (ID, Name).

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • THREAD_EXTENDED_LOGGING

        public static final java.lang.String THREAD_EXTENDED_LOGGING
        The "eclipselink.thread.extended.logging" property control (enable/disable) some additional logging messages like print error message if cached Entity is picked by different thread, or if EntityManager/UnitOfWork is reused/passed to different thread.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • THREAD_EXTENDED_LOGGING_THREADDUMP

        public static final java.lang.String THREAD_EXTENDED_LOGGING_THREADDUMP
        The "eclipselink.thread.extended.logging.threaddump" property control (enable/disable) store and display thread dump. This is extension to "eclipselink.thread.extended.logging" which must be enabled. It prints additionally to some log messages presented by "eclipselink.thread.extended.logging" creation and current thread stack traces.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • CANONICAL_MODEL_PREFIX

        public static final java.lang.String CANONICAL_MODEL_PREFIX
        The "eclipselink.canonicalmodel.prefix" optional property specifies the prefix that will be added to the start of the class name of any canonical model class generated. By default the prefix is not used.
        See Also:
        CANONICAL_MODEL_PREFIX_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_PREFIX_DEFAULT

        public static java.lang.String 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_PREFIX
      • CANONICAL_MODEL_SUFFIX

        public static final java.lang.String CANONICAL_MODEL_SUFFIX
        The "eclipselink.canonicalmodel.suffix" optional property specifies the suffix that will be added to the end of the class name of any canonical model class generated. The suffix defaults to "_" unless a prefix is specified. If this property is specified, the value must be a non-empty string that contains valid characters for use in a Java class name.
        See Also:
        CANONICAL_MODEL_SUFFIX_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_SUFFIX_DEFAULT

        public static java.lang.String 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_SUFFIX
      • CANONICAL_MODEL_SUB_PACKAGE

        public static final java.lang.String CANONICAL_MODEL_SUB_PACKAGE
        The "eclipselink.canonicalmodel.subpackage" optional property specifies a sub-package name that can be used to have the canonical model generator generate its classes in a sub-package of the package where the corresponding entity class is located. By default the canonical model classes are generated into the same package as the entity classes.
        See Also:
        CANONICAL_MODEL_SUB_PACKAGE_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_SUB_PACKAGE_DEFAULT

        public static java.lang.String 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_SUB_PACKAGE
      • CANONICAL_MODEL_LOAD_XML

        public static final java.lang.String CANONICAL_MODEL_LOAD_XML
        The "eclipselink.canonicalmodel.load_xml" optional property can be used a performance enhancement between compile rounds. It is used to avoid reloading XML metadata on each compile which may only contain a single class etc. The default value is true and should be left as such for the initial generation to capture the XML metadata. Afterwards users may choose to set this flag if no changes to XML are expected thereafter.
        See Also:
        CANONICAL_MODEL_LOAD_XML_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_LOAD_XML_DEFAULT

        public static final java.lang.String CANONICAL_MODEL_LOAD_XML_DEFAULT
        Default value for the "eclipselink.canonicalmodel.load_xml" optional property.
        See Also:
        CANONICAL_MODEL_LOAD_XML, Constant Field Values
      • CANONICAL_MODEL_USE_STATIC_FACTORY

        public static final java.lang.String CANONICAL_MODEL_USE_STATIC_FACTORY
        The "eclipselink.canonicalmodel.use_static_factory" optional property can be used a performance enhancement between compile rounds within an IDE. It is used to avoid using a static metadata factory between 'cache' metadata from incremental builds. Turning this off in some use cases (IDE) could result in a loss of functionality. The default value is true and should be left as such for full feature support.
        See Also:
        CANONICAL_MODEL_USE_STATIC_FACTORY_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_USE_STATIC_FACTORY_DEFAULT

        public static final java.lang.String CANONICAL_MODEL_USE_STATIC_FACTORY_DEFAULT
        Default value for the "eclipselink.canonicalmodel.use_static_factory" optional property.
        See Also:
        CANONICAL_MODEL_USE_STATIC_FACTORY, Constant Field Values
      • CANONICAL_MODEL_GENERATE_GENERATED_DEFAULT

        public static final java.lang.String CANONICAL_MODEL_GENERATE_GENERATED_DEFAULT
        Default value for the "eclipselink.canonicalmodel.use_generated" optional property.
        See Also:
        CANONICAL_MODEL_GENERATE_GENERATED, Constant Field Values
      • CANONICAL_MODEL_GENERATE_TIMESTAMP

        public static final java.lang.String CANONICAL_MODEL_GENERATE_TIMESTAMP
        The "eclipselink.canonicalmodel.generate_timestamp" optional property can be used to disable usage of date in declaration of javax.annotation.Generated annotation. The default value is true.
        See Also:
        CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT

        public static final java.lang.String CANONICAL_MODEL_GENERATE_TIMESTAMP_DEFAULT
        Default value for the "eclipselink.canonicalmodel.generate_timestamp" optional property.
        See Also:
        CANONICAL_MODEL_GENERATE_TIMESTAMP, Constant Field Values
      • CANONICAL_MODEL_GENERATE_COMMENTS

        public static final java.lang.String CANONICAL_MODEL_GENERATE_COMMENTS
        The "eclipselink.canonicalmodel.generate_comments" optional property can be used to disable usage of comments in declaration of Generated annotation. The default value is true.
        See Also:
        CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT, Constant Field Values
      • CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT

        public static final java.lang.String CANONICAL_MODEL_GENERATE_COMMENTS_DEFAULT
        Default value for the "eclipselink.canonicalmodel.generate_comments" optional property.
        See Also:
        CANONICAL_MODEL_GENERATE_COMMENTS, Constant Field Values
      • CACHE_SHARED_DEFAULT

        public static final java.lang.String CACHE_SHARED_DEFAULT
        Default caching properties - apply to all entities. May be overridden by individual entity property with the same prefix. If you do not wish to cache your entities, set this to "false".
        See Also:
        Constant Field Values
      • QUERY_CACHE

        public static final java.lang.String QUERY_CACHE
        Property prefix "eclipselink.cache.query-results" used to configure the default option for query results caching.

        The query results cache is separate from the object cache. It caches the results of named query execution. The query results cache is not enabled by default, and can be enabled per query. This option allows it to be enabled for all named queries.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • DATABASE_EVENT_LISTENER

        public static final java.lang.String DATABASE_EVENT_LISTENER
        The "eclipselink.cache.database-event-listener" property allows integration with a database event notification service. This allows the EclipseLink cache to be invalidated by database change events. This is used to support Oracle QCN/DCN (Database Change event Notification), but could also be used by triggers or other services, or other types of events.

        Allowed Values:

        • the fully qualified name for a class that implements DatabaseEventListener interface, for example "org.eclipse.persistence.platform.database.oracle.dcn.OracleChangeNotificationListener"
        • "DCN" - for Oracle only
        • "QCN" - for Oracle only
        See Also:
        DatabaseEventListener, OracleChangeNotificationListener, Constant Field Values
      • CACHE_QUERY_FORCE_DEFERRED_LOCKS

        public static final java.lang.String CACHE_QUERY_FORCE_DEFERRED_LOCKS
        The "eclipselink.cache.query-force-deferred-locks" property force all queries and relationships to use deferred lock strategy during object building and L2 cache population.

        Allowed Values (String):

        • "false" (DEFAULT) - use use mixed object cache locking strategy
        • "true" - use deferred locking strategy all queries and relationships
        See Also:
        Constant Field Values
      • LOGGING_PARAMETERS

        public static final java.lang.String LOGGING_PARAMETERS
        By default sql bind parameters are displayed in exceptions and logs when the log level is FINE or greater. To override this behavior you may set this property to specify that the data should or should not be visible.
        Note: this property applies only to bind parameters. When not using binding, the parameters are always displayed.

        Allowed Values:

        • "false"
        • "true"
        See Also:
        JDBC_BIND_PARAMETERS, Constant Field Values
      • LOGGING_TIMESTAMP

        public static final java.lang.String LOGGING_TIMESTAMP
        The "eclipselink.logging.timestamp" property configures if the current time stamp should be included in each log message.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • LOGGING_THREAD

        public static final java.lang.String LOGGING_THREAD
        Property "eclipselink.logging.thread" indicates if current thread should have its identity included in each log message.

        By default ("true") the thread is logged at FINE or less level. This can be turned off ("false") or on ("true").

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • LOGGING_SESSION

        public static final java.lang.String LOGGING_SESSION
        Property "eclipselink.logging.session" indicates if the session in use should have its identity included in each log message.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • LOGGING_CONNECTION

        public static final java.lang.String LOGGING_CONNECTION
        Property "eclipselink.logging.connection" indicates if the connection in use should have its identity included in each log message.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • LOGGING_EXCEPTIONS

        public static final java.lang.String LOGGING_EXCEPTIONS
        Property "eclipselink.logging.exceptions" indicates if exception stack traces should be included in each log message.
        By default stack trace is logged for SEVERE all the time and at FINER level for WARNING or less.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • LOGGING_FILE

        public static final java.lang.String LOGGING_FILE
        The "eclipselink.logging.file" property configures a file location where the log will be output to instead of standard out.
        See Also:
        Constant Field Values
      • MULTITENANT_PROPERTY_DEFAULT

        public static final java.lang.String MULTITENANT_PROPERTY_DEFAULT
        The "eclipselink.tenant-id" property specifies the default context property used to populate multitenant entities.

        NOTE: This is merely a default multitenant property than can be used on its own or with other properties defined by the user. Users are not obligated to use this property and are free to specify their own.

        Persistence XML example:

         <property name="eclipselink.tenant-id" value="Oracle" />

        Java example:

         props.put(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, "Oracle");
        See Also:
        Multitenant, TenantDiscriminatorColumn, Constant Field Values
      • MULTITENANT_SCHEMA_PROPERTY_DEFAULT

        public static final java.lang.String MULTITENANT_SCHEMA_PROPERTY_DEFAULT
        The "eclipselink.tenant-schema-id" property specifies the context property used to distinguish tenants when using global schema per tenant multitenant strategy. It is expected to be set by user when creating an EntityManager.

        Persistence XML example:

         <property name="eclipselink.tenant-schema-id" value="Oracle" />

        Java example:

         props.put(PersistenceUnitProperties.MULTITENANT_SCHEMA_PROPERTY_DEFAULT, "Oracle");
        See Also:
        MULTITENANT_STRATEGY, SchemaPerMultitenantPolicy, Constant Field Values
      • MULTITENANT_SHARED_CACHE

        public static final java.lang.String MULTITENANT_SHARED_CACHE
        Property "eclipselink.multitenant.tenants-share-cache" specifies that multitenant entities will share the L2 cache. By default this property is false meaning multitenant entities will have an ISOLATED setting. When setting it to true a PROTECTED cache setting will be used.

        WARNING: Queries that use the cache may return data from other tenants when using the PROTECTED setting.

        Persistence XML example:

         <property name="eclipselink.multitenant.tenants-share-cache" value="true" />

        Java example:

         props.put(PersistenceUnitProperties.MULTITENANT_SHARED_CACHE, true);
        See Also:
        MULTITENANT_SHARED_EMF, Constant Field Values
      • MULTITENANT_SHARED_EMF

        public static final java.lang.String MULTITENANT_SHARED_EMF
        Property "eclipselink.multitenant.shared-emf" is used to indicate that multitenant entities will be used within a shared entity manager factory. This property defaults to "true" (and applies to multitenant entities only). When setting it to "false", users are required to provide a unique session name.

        Persistence XML example:

         <property name="eclipselink.multitenant.tenants-share-emf" value=""true" />

        Java example:

         props.put(PersistenceUnitProperties.MULTITENANT_SHARED_EMF, true);
        See Also:
        SESSION_NAME, MULTITENANT_SHARED_CACHE, Constant Field Values
      • TABLE_CREATION_SUFFIX

        public static final java.lang.String TABLE_CREATION_SUFFIX
        The "eclipselink.ddl.table-creation-suffix" property is used in conjunction with DDL generation options to append a string to the end of generated CREATE Table statements.

        This value is applied to all Table creation statements through the DDL generation feature ie <property name="eclipselink.ddl.table-creation-suffix" value="engine=InnoDB"/>

        See Also:
        Constant Field Values
      • TARGET_DATABASE

        public static final java.lang.String TARGET_DATABASE
        The "eclipselink.target-database" property configures the database that will be used controlling custom operations and SQL generation for the specified database.

        Default: TargetDatabase.Auto which means EclipseLink will try to automatically determine the correct database platform type.

        Note: "eclipselink.target-database" must be specified with a non-"Auto" class name or short name when "eclipselink.validation-only" is set to "true".

        Allowed Values:

        See Also:
        TargetDatabase, DatabasePlatform, Constant Field Values
      • TARGET_DATABASE_PROPERTIES

        public static final java.lang.String TARGET_DATABASE_PROPERTIES
        The "eclipselink.target-database-properties" property configures additional properties for the configured target-database.

        Allowed Values:

        • A comma delimited key=value pairs (ie: key1=value1,key2=value2). Each key is expected to be a set[key_name] method on the configured target-database. The value must be the Stringified value to be passed into the set[key] method.

        Note: Keys and values cannot contain '=' or ','

        If an invalid property is located a ConversionException will be thrown.

        Example : To change the value of DatabasePlatform.shouldBindLiterals via configuration, provide the following :

        <property name="eclipselink.target-database-properties" value="shouldBindLiterals=true"/>

        Example 2 : To change the value of DatabasePlatform.supportsReturnGeneratedKeys via configuration, provide the following :

        <property name="eclipselink.target-database-properties" value="supportsReturnGeneratedKeys=true"/>

        See Also:
        TargetDatabase, DatabasePlatform, Constant Field Values
      • EXCLUDE_ECLIPSELINK_ORM_FILE

        public static final java.lang.String EXCLUDE_ECLIPSELINK_ORM_FILE
        The "eclipselink.exclude-eclipselink-orm" property configures the exclusion of an EclipseLink ORM mapping file for a specific persistence unit.

        By default the first file found at the resource name: "META-INF/eclipselink-orm.xml" is processed and overrides configurations specified in annotations, and standard mapping files.

        See Also:
        Constant Field Values
      • SESSION_NAME

        public static final java.lang.String SESSION_NAME
        The "eclipselink.session-name" property configures a specific name to use when storing the singleton server session within the SessionManager.

        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:
        Constant Field Values
      • WEAVING

        public static final java.lang.String WEAVING
        The "eclipselink.weaving" property configures whether weaving should be performed. Weaving is required for lazy OneToOne, ManyToOne, Basic, attribute change tracking, fetch groups, and other optimizations.

        Allowed Values:

        • Not Set - defaults to "true" in Java SE using javaagent and within EJB 3+ compliant containers
        • "true" - requires that weaving is done. Will throw an exception if entities are not woven
        • "false" - forces weaving not to be done
        • "static" - requires that the static weaving utility was used to weave the entities
        Note: Any value specified that is not in the above list is treated as "static".
        See Also:
        Constant Field Values
      • WEAVING_INTERNAL

        public static final java.lang.String WEAVING_INTERNAL
        The "eclipselink.weaving.internal" property indicates whether internal optimizations should be enabled through weaving. Internal optimizations include caching of primary key and session, addition of a serialVersionUID if none exists, optimization of EclipseLink's cloning strategy and optimization of the way EclipseLink gets and sets values from fields mapped as Basic.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        WEAVING, Constant Field Values
      • WEAVING_LAZY

        public static final java.lang.String WEAVING_LAZY
        The "eclipselink.weaving.lazy" property configures whether LAZY OneToOne and ManyToOne mappings should be enabled through weaving.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        WEAVING, Constant Field Values
      • WEAVING_EAGER

        public static final java.lang.String WEAVING_EAGER
        The "eclipselink.weaving.eager" property configures whether EAGER mapping's attributes should be woven to use indirection.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        WEAVING, Constant Field Values
      • WEAVING_CHANGE_TRACKING

        public static final java.lang.String WEAVING_CHANGE_TRACKING
        The "eclipselink.weaving.changetracking" property configures whether AttributeLevelChangeTracking should be enabled through weaving. When this is enabled, only classes with all mappings allowing change tracking will have change tracking enabled. Mutable basic attributes will prevent this.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        WEAVING, Constant Field Values
      • WEAVING_FETCHGROUPS

        public static final java.lang.String WEAVING_FETCHGROUPS
        The "eclipselink.weaving.fetchgroups" property configures whether FetchGroup support should be enabled through weaving. When this is enabled, lazy direct mappings will be supported as well as descriptor and query level FetchGroups. FetchGroups allow partial objects to be read and written, access to un-fetched attributes will cause the object to be refreshed/fully-fetched.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        WEAVING, FetchGroupManager, FetchGroup, Constant Field Values
      • WEAVING_MAPPEDSUPERCLASS

        public static final java.lang.String WEAVING_MAPPEDSUPERCLASS
        The "eclipselink.weaving.mappedsuperclass" property configures whether MappedSuperclasses with no direct sub-classes will be woven.

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "true" (DEFAULT)
        • "false"
        See Also:
        Constant Field Values
      • WEAVING_REST

        public static final java.lang.String WEAVING_REST
        The "eclipselink.weaving.rest" property configures whether classes will be woven to support EclipseLink JPA_RS functionality

        This property will only be considered if weaving is enabled.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_DATABASE_ACTION

        public static final java.lang.String SCHEMA_GENERATION_DATABASE_ACTION

        The "javax.persistence.schema-generation.database.action" property specifies the action to be taken by the persistence provider with regard to the database artifacts.

        The values for this property are "none", "create", "drop-and-create", "drop".

        EclipseLink also supports the "create-or-extend-tables" option.

        If the "javax.persistence.schema-generation.database.action" property is not specified, no schema generation actions must be taken on the database.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPTS_ACTION

        public static final java.lang.String SCHEMA_GENERATION_SCRIPTS_ACTION

        The "javax.persistence.schema-generation.scripts.action" property specifies which scripts are to be generated by the persistence provider.

        The values for this property are "none", "create", "drop-and-create", "drop".

        Scripts will only be generated if script targets are specified. If this property is not specified, no scripts will be generated.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_CREATE_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_CREATE_SOURCE

        The "javax.persistence.schema-generation.create-source" property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.

        The values for this property are "metadata", "script", "metadata-then-script", "script-then-metadata".

        If this property is not specified, and a script is specified by the "javax.persistence.schema-generation.create-script-source property", the script (only) will be used for schema generation; otherwise if this property is not specified, schema generation will occur on the basis of the object/relational mapping metadata (only).

        The "metadata-then-script" and "script-then-metadata" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and schema generation may fail.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_DROP_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_DROP_SOURCE

        The "javax.persistence.schema-generation.drop-source" property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two.

        The values for this property are "metadata", "script", "metadata-then-script", "script-then-metadata".

        If this property is not specified, and a script is specified by the "javax.persistence.schema-generation.drop-script-source" property, the script (only) will be used for the dropping of database artifacts; otherwise if this property is not specified, the dropping of database artifacts will occur on the basis of the object/relational mapping metadata (only).

        The "metadata-then-script" and "script-then-metadata" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and the dropping of database artifacts may fail.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_CREATE_DATABASE_SCHEMAS

        public static final java.lang.String 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 "javax.persistence.schema-generation.create-database-schemas" property specifies whether the persistence provider is to create the database schema(s) in addition to creating database objects such as tables, sequences, constraints, etc.

        The value of this boolean property should be set to true if the persistence provider is to create schemas in the database or to generate DDL that contains "CREATE SCHEMA" commands. If this property is not supplied, the provider should not attempt to create database schemas. This property may also be specified in Java SE environments.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET

        public static final java.lang.String SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET

        If scripts are to be generated, the target locations for the writing of these scripts must be specified.

        The "javax.persistence.schema-generation.scripts.create-target" property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPTS_DROP_TARGET

        public static final java.lang.String SCHEMA_GENERATION_SCRIPTS_DROP_TARGET

        If scripts are to be generated, the target locations for the writing of these scripts must be specified.

        The "javax.persistence.schema-generation.scripts.drop-target" property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated.

        See Also:
        Constant Field Values
      • SCHEMA_DATABASE_PRODUCT_NAME

        public static final java.lang.String 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 "javax.persistence.database-product-name" property must be specified.

        The value of this property should be the value returned for the target database by the JDBC DatabaseMetaData method getDatabaseProductName.

        If sufficient database version information is not included in the result of this method, the "javax.persistence.database-major-version" and "javax.persistence.database-minor-version" properties should be specified as needed. These should contain the values returned by the JDBC getDatabaseMajorVersion and getDatabaseMinor-Version methods respectively.

        See Also:
        Constant Field Values
      • SCHEMA_DATABASE_MAJOR_VERSION

        public static final java.lang.String SCHEMA_DATABASE_MAJOR_VERSION

        If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "javax.persistence.database-major-version" property should be specified as needed. This should contain the value returned by the JDBC getDatabaseMajor-Version method.

        See Also:
        Constant Field Values
      • SCHEMA_DATABASE_MINOR_VERSION

        public static final java.lang.String SCHEMA_DATABASE_MINOR_VERSION

        If sufficient database version information is not included from the JDBC DatabaseMetaData method getDatabaseProductName, the "javax.persistence.database-minor-version" property should be specified as needed. This should contain the value returned by the JDBC getDatabaseMinor-Version method.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_CREATE_SCRIPT_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_CREATE_SCRIPT_SOURCE

        The "javax.persistence.schema-generation.create-script-source" is used for script execution.

        In Java EE container environments, it is generally expected that the container will be responsible for executing DDL scripts, although the container is permitted to delegate this task to the persistence provider.

        If DDL scripts are to be used in Java SE environments or if the Java EE container delegates the execution of scripts to the persistence provider, this property must be specified.

        The "javax.persistence.schema-generation.create-script-source" property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_DROP_SCRIPT_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_DROP_SCRIPT_SOURCE

        The "javax.persistence.schema-generation.drop-script-source" is used for script execution.

        In Java EE container environments, it is generally expected that the container will be responsible for executing DDL scripts, although the container is permitted to delegate this task to the persistence provider.

        If DDL scripts are to be used in Java SE environments or if the Java EE container delegates the execution of scripts to the persistence provider, this property must be specified.

        The "javax.persistence.schema-generation.drop-script-source" property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_CONNECTION

        public static final java.lang.String SCHEMA_GENERATION_CONNECTION

        The "javax.persistence.schema-generation.connection" property specifies the JDBC connection to be used for schema generation. This is intended for use in Java EE environments, where the platform provider may want to control the database privileges that are available to the persistence provider.

        This connection is provided by the container, and should be closed by the container when the schema generation request or entity manager factory creation completes.

        The connection provided must have credentials sufficient for the persistence provider to carry out the requested actions.

        If this property is not specified, the persistence provider should use the DataSource that has otherwise been provided.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SQL_LOAD_SCRIPT_SOURCE

        public static final java.lang.String 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 "javax.persistence.sql-load-script-source" property specifies a java.IO.Reader configured for reading of the SQL load script for database initialization or a string designating a file URL for the script.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_CREATE_ACTION

        public static final java.lang.String SCHEMA_GENERATION_CREATE_ACTION
        The parameter value "create"

        For use with the "javax.persistence.schema-generation.database.action" and "javax.persistence.schema-generation.scripts.action" properties.

        Specifies that database tables should be created.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_DROP_AND_CREATE_ACTION

        public static final java.lang.String SCHEMA_GENERATION_DROP_AND_CREATE_ACTION
        The parameter value "drop-and-create"

        For use with the "javax.persistence.schema-generation.database.action" and "javax.persistence.schema-generation.scripts.action" properties.

        Specifies that database tables should be dropped, then created.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_DROP_ACTION

        public static final java.lang.String SCHEMA_GENERATION_DROP_ACTION
        The parameter value "drop"

        For use with the "javax.persistence.schema-generation.database.action" and "javax.persistence.schema-generation.scripts.action" properties.

        Specifies that database tables should be dropped.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_NONE_ACTION

        public static final java.lang.String SCHEMA_GENERATION_NONE_ACTION
        The parameter value "none"

        For use with the "javax.persistence.schema-generation.database.action" and "javax.persistence.schema-generation.scripts.action" properties.

        Specifies that database tables should not be created or dropped.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_METADATA_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_METADATA_SOURCE
        The parameter value "metadata"

        For use with the "javax.persistence.schema-generation.create-source" and "javax.persistence.schema-generation.drop-source" properties.

        Specifies that DDL generation source will come from the metadata only.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPT_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_SCRIPT_SOURCE
        The parameter value "script"

        For use with the "javax.persistence.schema-generation.create-source" and "javax.persistence.schema-generation.drop-source" properties.

        Specifies that DDL generation source will come from scripts only.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_METADATA_THEN_SCRIPT_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_METADATA_THEN_SCRIPT_SOURCE
        The parameter value "metadata-then-script"

        For use with the "javax.persistence.schema-generation.create-source" and "javax.persistence.schema-generation.drop-source" properties.

        Specifies that DDL generation source will come from the metadata first followed with the scripts.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPT_THEN_METADATA_SOURCE

        public static final java.lang.String SCHEMA_GENERATION_SCRIPT_THEN_METADATA_SOURCE
        The parameter value "script-then-metadata"

        For use with the "javax.persistence.schema-generation.create-source" and "javax.persistence.schema-generation.drop-source" properties.

        Specifies that DDL generation source will come from the scripts first followed with the metadata.

        See Also:
        Constant Field Values
      • SCHEMA_GENERATION_SCRIPT_TERMINATE_STATEMENTS

        public static final java.lang.String SCHEMA_GENERATION_SCRIPT_TERMINATE_STATEMENTS
        When the "eclipselink.ddlgen-terminate-statements" property is set to true and a DDL script is being generated, the value of DatabasePlatform.getStoredProcedureTerminationToken() is appended to the end of each statement.

        Allowed Values (String):

        • "false" - (DEFAULT) Do not print line terminator characters
        • "true"
        See Also:
        Constant Field Values
      • SEQUENCING_SEQUENCE_DEFAULT

        public static final java.lang.String SEQUENCING_SEQUENCE_DEFAULT
        The "eclipselink.sequencing.default-sequence-to-table" property determines the default behavior when a GeneratedValue of type SEQUENCE is used on a database platform that does not support SEQUENCE generation. By default IDENTITY generation is used if supported. If this property is set to true, then TABLE sequencing will be used instead.
        See Also:
        Constant Field Values
      • SEQUENCING_START_AT_NEXTVAL

        public static final java.lang.String SEQUENCING_START_AT_NEXTVAL
        By default, EclipseLink generates sequence values at (NEXTVAL - allocationSize). For instance, if NEXTVAL returns a value of 100 and the allocationSize is 50 (default), EclipseLink will begin sequence values at 100 - allocationSize. When the "eclipselink.sequencing.start-sequence-at-nextval" property is set to true, the ID values generated from sequences starting at NEXTVAL and proceeding forward.

        Allowed Values (String):

        • "false" - (DEFAULT) uses default behavior of next value - allocationSize
        • "true"
        See Also:
        Constant Field Values
      • SESSION_CUSTOMIZER

        public static final java.lang.String SESSION_CUSTOMIZER
        The "eclipselink.session.customizer" property configures a SessionCustomizer used to alter the runtime configuration through API.

        Session customizer is called after all other properties have been processed.

        Allowed Values:

        See Also:
        SessionCustomizer, Constant Field Values
      • DESCRIPTOR_CUSTOMIZER_

        public static final java.lang.String DESCRIPTOR_CUSTOMIZER_
        The "eclipselink.descriptor.customizer." is a prefix for a property used to configure a DescriptorCustomizer. 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:

        See Also:
        DescriptorCustomizer, Constant Field Values
      • NATIVE_QUERY_UPPERCASE_COLUMNS

        public static final java.lang.String NATIVE_QUERY_UPPERCASE_COLUMNS
        The "eclipselink.jdbc.uppercase-columns" property configures native SQL queries are used, the JDBC meta-data may return column names in lower case on some platforms. If the column names are upper-case in the mappings (default) then they will not match. This setting allows for forcing the column names from the meta-data to upper-case.

        This setting has been replaced by UPPERCASE_COLUMN_NAMES, which should be used instead, as it ensure both sides use upper case for comparisons.

        Allowed Values:

        • "false"
        • "true"
        See Also:
        UPPERCASE_COLUMN_NAMES, Constant Field Values
      • UPPERCASE_COLUMN_NAMES

        public static final java.lang.String UPPERCASE_COLUMN_NAMES
        The "eclipselink.jpa.uppercase-column-names" property configures JPA processing to uppercase all column name definitions. A value of "true" also sets the "eclipselink.jdbc.uppercase-columns" property to "true", so that JDBC meta-data returned from the database is also returned in uppercase, ensuring fields are the same case. This gets around situations where user defined fields do not match the case returned by the database for native queries, simulating case insensitivity.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        NATIVE_QUERY_UPPERCASE_COLUMNS, Constant Field Values
      • BATCH_WRITING

        public static final java.lang.String BATCH_WRITING
        The "eclipselink.jdbc.batch-writing" property configures the use of batch writing to optimize transactions with multiple writes.

        Batch writing allows multiple heterogeneous dynamic SQL statements to be sent to the database as a single execution, or multiple homogeneous parameterized SQL statements to be executed as a single batch execution.

        Note that not all JDBC drivers, or databases support batch writing.

        Allowed Values:

        • "JDBC" - use JDBC batch writing.
        • "Buffered" - do not use either JDBC batch writing nor native platform batch writing.
        • "Oracle-JDBC" - use Oracle's native batch writing. This requires the use of an Oracle JDBC driver.
        • "None" (DEFAULT): do not use batch writing (turn it off).
        • the fully qualified name for a class that extends BatchWritingMechanism abstract class
        See Also:
        BatchWriting, BatchWritingMechanism, Constant Field Values
      • BATCH_WRITING_SIZE

        public static final java.lang.String BATCH_WRITING_SIZE
        The "eclipselink.jdbc.batch-writing.size" property configures the batch size used for batch writing. For parameterized batch writing this is the number of statements to batch, default 100. For dynamic batch writing, this is the size of the batched SQL buffer, default 32k.
        See Also:
        BATCH_WRITING, Constant Field Values
      • CDI_BEANMANAGER

        public static final java.lang.String CDI_BEANMANAGER
        The "javax.persistence.bean.manager" property is used to set CDI BeanManager when available
        See Also:
        Constant Field Values
      • ECLIPSELINK_PERSISTENCE_XML

        public static final java.lang.String ECLIPSELINK_PERSISTENCE_XML
        The "eclipselink.persistencexml" property specifies the full resource name to look for the persistence XML files in. If not specified the default value defined by ECLIPSELINK_PERSISTENCE_XML_DEFAULT will be used.

        IMPORTANT: For now this property is used for the canonical model generator but it can later be used as a system property for customizing weaving and application bootstrap usage.

        This property is only used by EclipseLink when it is locating the configuration file. When used within an EJB/Spring container in container managed mode the locating and reading of this file is done by the container and will not use this configuration.

        See Also:
        Constant Field Values
      • ECLIPSELINK_SE_PUINFO

        public static final java.lang.String ECLIPSELINK_SE_PUINFO
        The "eclipselink.se-puinfo" property specifies a SEPersistenceUnitInfo that is used create an EntityManagerFactory. That datastructure is used in liu of a persistence.xml.

        IMPORTANT: This property is only supported for use in testing.

        See Also:
        Constant Field Values
      • ECLIPSELINK_PERSISTENCE_XML_DEFAULT

        public static final java.lang.String ECLIPSELINK_PERSISTENCE_XML_DEFAULT
        The default resource location used to locate the persistence.xml configuration files. Default: "META-INF/persistence.xml"
        See Also:
        Constant Field Values
      • ECLIPSELINK_PERSISTENCE_UNITS

        public static final java.lang.String ECLIPSELINK_PERSISTENCE_UNITS
        This "eclipselink.persistenceunits" property specifies the set of persistence unit names that will be processed when generating the canonical model. By default all persistence units available in all persistence XML files will be used. The value of this property is a comma separated list. When specifying multiple persistence units it is not possible to have persistence units with a comma in their name.

        Note: In the future this property can also be used to limit the persistence units that will be processed by the static or dynamic weaving.

        See Also:
        Constant Field Values
      • EXCEPTION_HANDLER_CLASS

        public static final java.lang.String EXCEPTION_HANDLER_CLASS
        The "eclipselink.exception-handler" property allows an ExceptionHandler to be specified. An ExceptionHandler handles exceptions when they are thrown so that an application might address address expected failures and continue.
        See Also:
        ExceptionHandler, Constant Field Values
      • INCLUDE_DESCRIPTOR_QUERIES

        public static final java.lang.String INCLUDE_DESCRIPTOR_QUERIES
        The "eclipselink.session.include.descriptor.queries" property configures whether to enable the copying of all descriptor named queries to the session to be usable from the entity manager.

        Default: "false".

        See Also:
        Constant Field Values
      • SESSIONS_XML

        public static final java.lang.String SESSIONS_XML
        The "eclipselink.sessions-xml" property configures the use of the specified native sessions.xml configuration file. When specified this file will load all of the session configuration and mapping information from the native XML. No JPA annotations or XML will be used.
        See Also:
        Constant Field Values
      • PROJECT_CACHE

        public static final java.lang.String PROJECT_CACHE
        The "eclipselink.project-cache" property configures the type of ProjectCache implementation to use to retrieve and store projects representing the metadata for the project.

        Allowed Values:

        See Also:
        ProjectCache, Constant Field Values
      • PROJECT_CACHE_FILE

        public static final java.lang.String PROJECT_CACHE_FILE
        The property "eclipselink.project-cache.java-serialization.file" specifies the name of the file to read/write a serialized project representing the application's metadata

        Specifies the name of the metadata repository xml file to read from using classloader to find the resource

        This property should be used in conjunction with "eclipselink.project-cache" when a project is serialized to a file for caching.

        See Also:
        PROJECT_CACHE, Constant Field Values
      • TEMPORAL_MUTABLE

        public static final java.lang.String TEMPORAL_MUTABLE
        The "eclipselink.temporal.mutable" property configures the default for detecting changes to temporal field (Date, Calendar). Default "false" (changes to date object itself are not detected). By default it is assumed that temporal fields are replaced, and the temporal object not changed directly. Enabling mutable temporal fields will cause weaving of attribute change tracking to be disabled.
        See Also:
        Constant Field Values
      • ALLOW_NATIVE_SQL_QUERIES

        public static final java.lang.String ALLOW_NATIVE_SQL_QUERIES
        The "eclipselink.jdbc.allow-native-sql-queries" property specifies whether any user defined SQL is allowed within a persistence unit. This is of particular importance within a multitenant to minimize the potential impact of revealing multi tenant information. By default any persistence unit containing at least one multitenant entity will cause this flag to be set to "false".

        Allowed Values (String):

        • "false" - do not allow native SQL.
        • "true" (DEFAULT) - allow native SQL
        See Also:
        Project.setAllowNativeSQLQueries(boolean), Constant Field Values
      • ALLOW_ZERO_ID

        @Deprecated
        public static final java.lang.String ALLOW_ZERO_ID
        Deprecated.
        replaced by ID_VALIDATION property with value "NULL".
        The "eclipselink.allow-zero-id" property configures if zero is considered a valid id on a new entity. If the id is not considered valid and sequencing is enabled for the entity a new value will be assigned when it is persisted to the database (INSERT). By default an id value of 0 is assumed to be null/unassigned. This allows 0 to be a valid id value. This can also be set per class using the PrimaryKey annotation and IdValidation.

        Caution: This property configures the static singleton on Helper.isZeroValidPrimaryKey which will be shared by all concurrent uses of EclipseLink.

        See Also:
        PrimaryKey, IdValidation, ID_VALIDATION, Constant Field Values
      • ALLOW_NULL_MAX_MIN

        public static final java.lang.String ALLOW_NULL_MAX_MIN
        The "eclipselink.allow-null-max-min" property configures if zero is considered a valid return value for MAX/MIN aggregate functions. Section 4.8.5 of the JPA specification dictates this property must default 'true'. Default: "true".
        See Also:
        Constant Field Values
      • ALLOW_CONVERT_RESULT_TO_BOOLEAN

        public static final java.lang.String ALLOW_CONVERT_RESULT_TO_BOOLEAN
        The "eclipselink.sql.allow-convert-result-to-boolean" property allows eclipselink to convert resultset values to boolean types. Default: "true".
        See Also:
        Constant Field Values
      • ID_VALIDATION

        public static final java.lang.String ID_VALIDATION
        The "eclipselink.id-validation" property defines which primary key components values are considered invalid. These values will be also overridden by sequencing. Note that Identity always overrides any existing id value and so does any sequence with Sequence.shouldAlwaysOverrideExistingValue() flag set to "true".
        See Also:
        PrimaryKey, IdValidation, Constant Field Values
      • FLUSH_CLEAR_CACHE

        public static final java.lang.String FLUSH_CLEAR_CACHE
        The "eclipselink.flush-clear.cache" property defines EntityManager cache behavior after a call to flush method followed by a call to clear method. This property could be specified while creating either EntityManagerFactory (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:
        FlushClearCache, Constant Field Values
      • CLASSLOADER

        public static final java.lang.String CLASSLOADER
        The "eclipselink.classloader" property specifies the classloader to use to create an EntityManagerFactory in the property map passed to Persistence.createEntityManagerFactory.
        See Also:
        Constant Field Values
      • THROW_EXCEPTIONS

        public static final java.lang.String THROW_EXCEPTIONS
        The "eclipselink.orm.throw.exceptions" property specifies if the first exception that occurs during deployment should be thrown, or if all exceptions should be caught and summary thrown at end of deployment attempt.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • ORM_SCHEMA_VALIDATION

        public static final java.lang.String ORM_SCHEMA_VALIDATION
        The "eclipselink.orm.validate.schema" property set on the session is used to override orm.xml schema validation from its default of "false".
        See Also:
        Constant Field Values
      • DEPLOY_ON_STARTUP

        public static final java.lang.String DEPLOY_ON_STARTUP
        The "eclipselink.deploy-on-startup" property controls whether EclipseLink creates the persistence unit when the application starts up, or when the persistence unit is first actually accessed by the application.

        Setting this to "true" causes the persistence unit to be created when the EntityManagerFactory is created, usually during deployment to a Java EE 7 container or servlet container. Enabling this option may increase startup time of the container/server, but will prevent the first request to the application from pausing while the persistence unit is deployed.

        When this property is set to "false" the persistence unit is not initialized until the first EntityManager is created or until metadata is requested from the EntityManagerFactory.

        When set to "false", there is a known issue with Fields of static metamodel classes ("Entity_" classes) being null until the persistence unit is initialized. This behaviour won't affect applications unless they use the static metamodel feature. (See bug 383199)

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • VALIDATION_ONLY_PROPERTY

        public static final java.lang.String VALIDATION_ONLY_PROPERTY
        The "eclipselink.validation-only" property validates deployment which includes initializing descriptors but does not connect (no login to the database).

        Note: "eclipselink.target-database" must be specified with a non-"Auto" class name or short name when "eclipselink.validation-only" is set to "true".

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        TARGET_DATABASE, TargetDatabase, Constant Field Values
      • DDL_GENERATION

        public static final java.lang.String DDL_GENERATION
        The "eclipselink.ddl-generation" property allows the database schema to be generated on deployment.

        Allowed Values:

        See Also:
        Constant Field Values
      • CREATE_ONLY

        public static final java.lang.String CREATE_ONLY
        The parameter value "create-tables" specifies that database tables should be created.

        For use with the "eclipselink.ddl-generation" property.

        See Also:
        DDL_GENERATION, Constant Field Values
      • DROP_ONLY

        public static final java.lang.String DROP_ONLY
        The parameter value "drop-tables" specifies that database tables should be dropped only.

        For use with the "eclipselink.ddl-generation" property.

        See Also:
        DDL_GENERATION, Constant Field Values
      • DROP_AND_CREATE

        public static final java.lang.String DROP_AND_CREATE
        The parameter value "drop-and-create-tables" specifies that database tables should be dropped, then created.

        For use with the "eclipselink.ddl-generation" property.

        See Also:
        DDL_GENERATION, Constant Field Values
      • CREATE_OR_EXTEND

        public static final java.lang.String CREATE_OR_EXTEND
        The parameter value "create-or-extend-tables" specifies that database tables should be created and if existing, missing columns will be added.

        For use with the "eclipselink.ddl-generation" property.

        Note this can only be used with "eclipselink.ddl-generation.output-mode" with value of "database".

        See Also:
        DDL_GENERATION, Constant Field Values
      • NONE

        public static final java.lang.String NONE
        The parameter value "none" specifies that database tables should not be created or dropped.

        For use with the "eclipselink.ddl-generation" property, and is the default parameter value.

        See Also:
        DDL_GENERATION, Constant Field Values
      • METADATA_SOURCE_RCM_COMMAND

        public static final java.lang.String METADATA_SOURCE_RCM_COMMAND
        The "eclipselink.metadata-source.send-refresh-command" property works with cache coordination for a clustered environment to. If cache coordination is configured and the session is deployed on startup, this property controls the sending of RCM refresh metadata commands to the cluster. These commands will cause the remote instances to refresh their metadata.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        COORDINATION_PROTOCOL, DEPLOY_ON_STARTUP, Constant Field Values
      • METADATA_SOURCE_XML_FILE

        public static final java.lang.String METADATA_SOURCE_XML_FILE
        The property "eclipselink.metadata-source.xml.file" specifies the name of the metadata repository xml file to read from using classloader to find the resource

        This property should be used in conjunction with the "eclipselink.metadata-repository" when an XML repository is being used.

        See Also:
        METADATA_SOURCE, Constant Field Values
      • METADATA_SOURCE_XML_URL

        public static final java.lang.String METADATA_SOURCE_XML_URL
        The property "eclipselink.metadata-source.xml.URL" specifies the name of the metadata repository xml URL to read from.

        This property should be used in conjunction with the "eclipselink.metadata-repository" when an XML repository is being used.

        See Also:
        METADATA_SOURCE, Constant Field Values
      • METADATA_SOURCE_PROPERTIES_FILE

        public static final java.lang.String METADATA_SOURCE_PROPERTIES_FILE
        The property "eclipselink.metadata-source.properties.file" specifies the name of the metadata repository properties file to read from using classloader to find the resource.
        See Also:
        METADATA_SOURCE, Constant Field Values
      • CREATE_JDBC_DDL_FILE

        public static final java.lang.String CREATE_JDBC_DDL_FILE
        The property "eclipselink.create-ddl-jdbc-file-name" specifies the name of the DDL file which is used to create database tables.

        This property should be used in conjunction with the "eclipselink.application-location" property to specify a location on the file system for DDL file(s) to be written.

        See Also:
        APP_LOCATION, DEFAULT_CREATE_JDBC_FILE_NAME, Constant Field Values
      • DROP_JDBC_DDL_FILE

        public static final java.lang.String DROP_JDBC_DDL_FILE
        The property "eclipselink.drop-ddl-jdbc-file-name" specifies the name of the DDL file which is used to drop database tables.

        This property should be used in conjunction with the "eclipselink.application-location" property to specify a location on the file system for DDL file(s) to be written.

        See Also:
        APP_LOCATION, DEFAULT_DROP_JDBC_FILE_NAME, Constant Field Values
      • DEFAULT_APP_LOCATION

        public static final java.lang.String DEFAULT_APP_LOCATION
        The default location in the file system to output DDL files.

        Defaults to: the working directory.

        See Also:
        APP_LOCATION
      • DEFAULT_CREATE_JDBC_FILE_NAME

        public static final java.lang.String 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:
        CREATE_JDBC_DDL_FILE, Constant Field Values
      • DEFAULT_DROP_JDBC_FILE_NAME

        public static final java.lang.String 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:
        DROP_JDBC_DDL_FILE, Constant Field Values
      • JAVASE_DB_INTERACTION

        public static final java.lang.String JAVASE_DB_INTERACTION
        The system property "INTERACT_WITH_DB" specifies to enable or disable the execution of DDL (configured with the "eclipselink.ddl-generation" property) against a database.

        e.g. a command line setting of -DINTERACT_WITH_DB=false will not output DDL to the database.

        Allowed Values:

        • "false" - do not output DDL to the database
        • "true" - output DDL to the database
        See Also:
        DDL_GENERATION, Constant Field Values
      • DDL_GENERATION_INDEX_FOREIGN_KEYS

        public static final java.lang.String DDL_GENERATION_INDEX_FOREIGN_KEYS
        The "eclipselink.ddl-generation.index-foreign-keys" property specifies if an index should be automatically generated for foreign key constraints. It is normally recommended to have an index for a foreign key.

        By default indexes are not generated, most database also do not auto generate indexes, although some do.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        DDL_GENERATION, Constant Field Values
      • VALIDATE_EXISTENCE

        public static final java.lang.String VALIDATE_EXISTENCE
        The "eclipselink.validate-existence" property configures if the existence of an object should be verified on persist(), otherwise it will assume to be new if not in the persistence context. If checked and existing and not in the persistence context and error will be thrown.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • ORDER_UPDATES

        @Deprecated
        public static final java.lang.String ORDER_UPDATES
        Deprecated.
        as of EclipseLink 2.6 replaced by PERSISTENCE_CONTEXT_COMMIT_ORDER
        The "eclipselink.order-updates" property configures if updates should be ordered by primary key.

        This can be used to avoid possible database deadlocks from concurrent threads updating the same objects in a different order. If not set to true, the order of updates is not guaranteed.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • PERSISTENCE_CONTEXT_COMMIT_ORDER

        public static final java.lang.String PERSISTENCE_CONTEXT_COMMIT_ORDER
        The "eclipselink.persistence-context.commit-order" property defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation. The commit order of entities is defined by their foreign key constraints, and then sorted alphabetically.

        By default the commit of a set of the same entity type is ordered by its Id.

        Entity type commit order can be modified using a DescriptorCustomizer and the ClassDescriptor.addConstraintDependency(Class) API. Commit order can also be controlled using the EntityManager.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:
        CommitOrderType, Constant Field Values
      • PROFILER

        public static final java.lang.String PROFILER
        The "eclipselink.profiler" property configures the type of profiler used to capture runtime statistics.

        Allowed Values:

        See Also:
        ProfilerType, Constant Field Values
      • TUNING

        public static final java.lang.String TUNING
        The "eclipselink.tuning"property configures the type of tuner to use to configure the persistence unit.

        A SessionTuner can be used to define a template for a persistence unit configuration. It allows a set of configuration values to be configured as a single tuning option.

        Allowed Values:

        • "Standard" (DEFAULT)
        • "Safe" - see SafeModeTuner
        • Custom tuner - specify a full class name of an implementation of SessionTuner
        See Also:
        TunerType, Constant Field Values
      • FREE_METADATA

        public static final java.lang.String FREE_METADATA
        The "eclipselink.memory.free-metadata" property configures the JPA internal deployment metadata to be released after deployment. This conserves memory, as the metadata is no longer required, but make future deployments of any other application take longer, as the metadata must be re-allocated.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • JOIN_EXISTING_TRANSACTION

        public static final java.lang.String JOIN_EXISTING_TRANSACTION
        The "eclipselink.transaction.join-existing" property set to "true" forces persistence context to read through JTA-managed ("write") connection in case there is an active transaction.

        Note that if the property set to "true" then objects read during transaction won't be placed into the shared cache unless they have been updated.

        The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • PERSISTENCE_CONTEXT_REFERENCE_MODE

        public static final java.lang.String PERSISTENCE_CONTEXT_REFERENCE_MODE
        The "eclipselink.persistence-context.reference-mode" property configures whether there should be hard or soft references used within the Persistence Context. Default is "HARD". With soft references entities no longer referenced by the application may be garbage collected freeing resources. Any changes that have not been flushed in these entities will be lost.

        The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.

        Allowed Values:

        See Also:
        ReferenceMode, Constant Field Values
      • PESSIMISTIC_LOCK_TIMEOUT

        public static final java.lang.String PESSIMISTIC_LOCK_TIMEOUT
        The "javax.persistence.lock.timeout" property configures the WAIT timeout used in pessimistic locking, if the database query exceeds the timeout the database will terminate the query and return an exception.

        Allowed Values:

        • a string containing a zero or greater integer value
        See Also:
        Constant Field Values
      • PESSIMISTIC_LOCK_TIMEOUT_UNIT

        public static final java.lang.String PESSIMISTIC_LOCK_TIMEOUT_UNIT
        The "eclipselink.pessimistic.lock.timeout.unit" property configures the query timeout unit value. Allows users more refinement. Used in combination with PersistenceUnitProperties.PESSIMISTIC_LOCK_TIMEOUT

        Allowed Values:

        • "java.util.concurrent.TimeUnit.MILLISECONDS" (DEFAULT),
        • "java.util.concurrent.TimeUnit.SECONDS",
        • "java.util.concurrent.TimeUnit.MINUTES".
        See Also:
        PESSIMISTIC_LOCK_TIMEOUT_UNIT, Constant Field Values
      • QUERY_TIMEOUT

        public static final java.lang.String QUERY_TIMEOUT
        The "javax.persistence.query.timeout" property configures the default query timeout value. Defaults to milliseconds, but is configurable with PersistenceUnitProperties.QUERY_TIMEOUT_UNIT

        Allowed Values:

        • a string containing a zero or greater integer value
        See Also:
        QUERY_TIMEOUT_UNIT, Constant Field Values
      • QUERY_TIMEOUT_UNIT

        public static final java.lang.String QUERY_TIMEOUT_UNIT
        The "eclipselink.query.timeout.unit" property configures the query timeout unit value. Allows users more refinement. Used in combination with PersistenceUnitProperties.QUERY_TIMEOUT

        Allowed Values:

        • "java.util.concurrent.TimeUnit.MILLISECONDS" (DEFAULT),
        • "java.util.concurrent.TimeUnit.SECONDS",
        • "java.util.concurrent.TimeUnit.MINUTES".
        See Also:
        QUERY_TIMEOUT, Constant Field Values
      • PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT

        public static final java.lang.String PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT
        The "eclipselink.persistence-context.close-on-commit" property specifies that the EntityManager will be closed or not used after commit (not extended). In general this is normally always the case for a container managed EntityManager, and common for application managed. This can be used to avoid additional performance overhead of resuming the persistence context after a commit().

        The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT

        public static final java.lang.String PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT
        The "eclipselink.persistence-context.persist-on-commit" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are cascade persist. This can be used to avoid the cost of performing this search if persist is always used for new objects.

        The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.

        Allowed Values:

        • "false"
        • "true" (DEFAULT)
        See Also:
        Constant Field Values
      • PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES

        public static final java.lang.String PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES
        The "eclipselink.persistence-context.commit-without-persist-rules" property specifies that the EntityManager will search all managed objects and persist any related non-managed new objects that are found ignoring any absence of CascadeType.PERSIST settings. Also the Entity life-cycle Persist operation will not be cascaded to related entities. This setting replicates the traditional EclipseLink native functionality.

        Allowed Values:

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • PERSISTENCE_CONTEXT_FLUSH_MODE

        public static final java.lang.String PERSISTENCE_CONTEXT_FLUSH_MODE
        The "eclipselink.persistence-context.flush-mode" property configures the EntityManager FlushMode to be set as a persistence property. This can be set to either "AUTO" or "COMMIT".

        By default the flush mode is "AUTO", which requires an automatic flush before all query execution. This can be used to avoid any flushing until commit.

        The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers created by the factory. Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.

        See Also:
        EntityManager.setFlushMode(javax.persistence.FlushModeType), FlushModeType, Constant Field Values
      • ORACLE_PROXY_TYPE

        public static final java.lang.String ORACLE_PROXY_TYPE
        The "eclipselink.oracle.proxy-type" property is used to specify proxy type that should be passed to OracleConnection.openProxySession method. Requires Oracle JDBC version 10.1.0.2 or later. Requires Oracle9Platform or later as a database platform (TARGET_DATABASE property value should be TargetDatabase.Oracle9 or later).

        Values:

        • oracle.jdbc.OracleConnection.PROXYTYPE_USER_NAME,
        • oracle.jdbc.OracleConnection.PROXYTYPE_DISTINGUISHED_NAME,
        • oracle.jdbc.OracleConnection.PROXYTYPE_CERTIFICATE.

        Property values corresponding to the specified type should be also provided:

        • oracle.jdbc.OracleConnection.PROXY_USER_NAME,
        • oracle.jdbc.OracleConnection.PROXY_DISTINGUISHED_NAME,
        • oracle.jdbc.OracleConnection.PROXY_CERTIFICATE.

        Typically these properties should be set into EntityManager (either through createEntityManager method or using proprietary setProperties method on EntityManagerImpl) - that causes EntityManager to use proxy connection for writing and reading inside transaction. If proxy-type and the corresponding proxy property set into EntityManagerFactory then all connections created by the factory will be proxy connections.

        See Also:
        Constant Field Values
      • COORDINATION_JGROUPS_CONFIG

        public static final java.lang.String COORDINATION_JGROUPS_CONFIG
        The "eclipselink.cache.coordination.jgroups.config" property configures cache coordination for a clustered environment.

        Only used for JGroups coordination.

        Sets the JGroups config XML file location.
        If not set the default JGroups config will be used.

        See Also:
        COORDINATION_PROTOCOL, "org.eclipse.persistence.sessions.coordination.jgroups.JGroupsTransportManager#setConfigFile(String)", Constant Field Values
      • COORDINATION_JMS_HOST

        public static final java.lang.String COORDINATION_JMS_HOST
        The "eclipselink.cache.coordination.jms.host" property configures cache coordination for a clustered environment.

        Only used for JMS coordination.

        Sets the URL for the JMS server hosting the topic.
        This is not required in the topic is distributed across the cluster (can be looked up in local JNDI).

        See Also:
        COORDINATION_PROTOCOL, JMSPublishingTransportManager.setTopicHostUrl(String), Constant Field Values
      • COORDINATION_JMS_FACTORY

        public static final java.lang.String COORDINATION_JMS_FACTORY
        The "eclipselink.cache.coordination.jms.factory" property configures cache coordination for a clustered environment.

        Only used for JMS coordination.

        Sets the JMS topic connection factory name.
        The default topic connection factory JNDI name is "jms/EclipseLinkTopicConnectionFactory".

        See Also:
        COORDINATION_PROTOCOL, JMSPublishingTransportManagerConfig.setTopicConnectionFactoryName(String), Constant Field Values
      • COORDINATION_RMI_ANNOUNCEMENT_DELAY

        public static final java.lang.String COORDINATION_RMI_ANNOUNCEMENT_DELAY
        The "eclipselink.cache.coordination.rmi.announcement-delay" property configures cache coordination for a clustered environment.

        Only used for RMI coordination.

        Sets the number of milliseconds to wait for announcements from other cluster members on startup.
        Default is 1000 milliseconds.

        See Also:
        COORDINATION_PROTOCOL, DiscoveryManager.setAnnouncementDelay(int), Constant Field Values
      • COORDINATION_RMI_MULTICAST_GROUP

        public static final java.lang.String COORDINATION_RMI_MULTICAST_GROUP
        The "eclipselink.cache.coordination.rmi.multicast-group" property configures cache coordination for a clustered environment.

        Only used for RMI coordination.

        Sets the multicast socket group address. The multicast group is used to find other members of the cluster.
        The default address is 239.192.0.0.

        See Also:
        COORDINATION_PROTOCOL, DiscoveryManager.setMulticastGroupAddress(String), Constant Field Values
      • COORDINATION_RMI_MULTICAST_GROUP_PORT

        public static final java.lang.String COORDINATION_RMI_MULTICAST_GROUP_PORT
        The "eclipselink.cache.coordination.rmi.multicast-group.port" property configures cache coordination for a clustered environment.

        Only used for RMI coordination.

        Sets the multicast socket group port. The multicast group port is used to find other members of the cluster.
        The default port is 3121.

        See Also:
        COORDINATION_PROTOCOL, DiscoveryManager.setMulticastPort(int), Constant Field Values
      • COORDINATION_RMI_PACKET_TIME_TO_LIVE

        public static final java.lang.String COORDINATION_RMI_PACKET_TIME_TO_LIVE
        The "eclipselink.cache.coordination.rmi.packet-time-to-live" property configures cache coordination for a clustered environment.

        Only used for RMI coordination.

        Sets the multicast socket packet time to live.
        The multicast group is used to find other members of the cluster. Set the number of hops the data packets of the session announcement will take before expiring.
        The default is 2, a hub and an interface card to prevent the data packets from leaving the local network.

        Note that if sessions are hosted on different LANs that are part of WAN, the announcement sending by one session may not reach other sessions. In this case, consult your network administrator for the right time-to-live value or test your network by increase the value until sessions receive announcement sent by others.

        See Also:
        COORDINATION_PROTOCOL, DiscoveryManager.setPacketTimeToLive(int), Constant Field Values
      • COORDINATION_RMI_URL

        public static final java.lang.String COORDINATION_RMI_URL
        The "eclipselink.cache.coordination.rmi.url" property configures cache coordination for a clustered environment.

        Only used for RMI coordination.

        Sets the URL of the host server.
        This is the URL that other cluster member should use to connect to this host. This may not be required in a clustered environment where JNDI is replicated.
        This can also be set as a System property or using a SessionCustomizer to avoid a separate persistence.xml per server.

        See Also:
        COORDINATION_PROTOCOL, RemoteCommandManager.setUrl(String), Constant Field Values
      • COORDINATION_JNDI_USER

        public static final java.lang.String COORDINATION_JNDI_USER
        The "eclipselink.cache.coordination.jndi.user" property configures cache coordination for a clustered environment.

        Set the JNDI naming service user name.
        This is not normally require if connecting to the local server.

        See Also:
        COORDINATION_PROTOCOL, TransportManager.setUserName(String), Constant Field Values
      • COORDINATION_JNDI_PASSWORD

        public static final java.lang.String COORDINATION_JNDI_PASSWORD
        The "eclipselink.cache.coordination.jndi.password" property configures cache coordination for a clustered environment.

        Set the JNDI naming service user name.
        This is not normally require if connecting to the local server.

        See Also:
        COORDINATION_PROTOCOL, TransportManager.setPassword(String), Constant Field Values
      • COORDINATION_REMOVE_CONNECTION

        public static final java.lang.String COORDINATION_REMOVE_CONNECTION
        The "eclipselink.cache.coordination.remove-connection-on-error" property configures cache coordination for a clustered environment.

        Set if the connection should be removed if a communication error occurs when coordinating with it.
        This is normally used for RMI coordination in case a server goes down (it will reconnect when it comes back up).

        See Also:
        COORDINATION_PROTOCOL, TransportManager.setShouldRemoveConnectionOnError(boolean), Constant Field Values
      • COORDINATION_ASYNCH

        public static final java.lang.String COORDINATION_ASYNCH
        The "eclipselink.cache.coordination.propagate-asynchronously" property configures cache coordination for a clustered environment.

        Set if the coordination broadcast should occur asynchronously with the committing thread. This means the coordination will be complete before the thread returns from the commit of the transaction.
        Note that JMS is always asynchronous. By default RMI is asynchronous.

        See Also:
        COORDINATION_PROTOCOL, RemoteCommandManager.setShouldPropagateAsynchronously(boolean), Constant Field Values
      • COORDINATION_THREAD_POOL_SIZE

        public static final java.lang.String COORDINATION_THREAD_POOL_SIZE
        The "eclipselink.cache.coordination.thread.pool.size" property configures thread pool size for cache coordination threads.

        RMI cache coordination will spawn one thread per node to send change notifications. RMI also spawns a thread to listen for new node notifications.

        JMS cache coordination will spawn one thread to receive JMS change notification messages (unless MDB is used). JMS also spawns a thread to process the change notificaiton (unless MDB is used).

        The default size is 32 threads.

        A size of 0 indicates no thread pool should be used, and threads will be spawned when required.

        See Also:
        COORDINATION_PROTOCOL, ServerPlatformBase.setThreadPoolSize(int), Constant Field Values
      • COORDINATION_SERIALIZER

        public static final java.lang.String COORDINATION_SERIALIZER
        The "eclipselink.cache.coordination.serializer" property configures how cache coordination serializes message sent between nodes.

        By default Java serialization is used. Other serializer can be used for improved performance or integration with other systems.

        The full class name of the serializer class should be provided.

        See Also:
        COORDINATION_PROTOCOL, Serializer, RemoteCommandManager.setSerializer(Serializer), Constant Field Values
      • COORDINATION_CHANNEL

        public static final java.lang.String COORDINATION_CHANNEL
        The "eclipselink.cache.coordination.channel" property configures cache coordination for a clustered environment.

        Set the channel for this cluster. All server's in the same channel will be coordinated.
        The default channel name is "EclipseLinkCommandChannel".
        If multiple EclipseLink deployment reside on the same network, they should use different channels.

        See Also:
        COORDINATION_PROTOCOL, RemoteCommandManager.setChannel(String), Constant Field Values
      • COMPOSITE_UNIT

        public static final java.lang.String COMPOSITE_UNIT
        The "eclipselink.composite-unit" property indicates if it's a composite persistence unit ("true").

        The property must be specified in persistence.xml of a composite persistence unit. The property passed to createEntityManagerFactory method or in system properties is ignored.

        Composite persistence unit would contain all persistence units found in jar files specified by <jar-file> elements in persistence.xml.

        Persistence XML example:

         <jar-file>member1.jar</jar-file>
          <jar-file>member2.jar</jar-file>
          <properties>
            <property name="eclipselink.composite-unit" value="true"/>
          </properties>
        See Also:
        COMPOSITE_UNIT_MEMBER, COMPOSITE_UNIT_PROPERTIES, Constant Field Values
      • COMPOSITE_UNIT_MEMBER

        public static final java.lang.String COMPOSITE_UNIT_MEMBER
        The "eclipselink.composite-unit.member" property indicates if the persistence unit must be a member of a composite persistence unit ("true"), can't be used as an independent persistence unit. That happens if persistence unit has dependencies on other persistence unit(s).

        The property may be specified in persistence.xml. The property passed to createEntityManagerFactory method or in system properties is ignored.

        If this property is set to "true", EntityManagerFactory still could be created, but it can't be connected: an attempt to create entity manager would cause an exception.

        See Also:
        COMPOSITE_UNIT, COMPOSITE_UNIT_PROPERTIES, Constant Field Values
      • COMPOSITE_UNIT_PROPERTIES

        public static final java.lang.String COMPOSITE_UNIT_PROPERTIES
        The "eclipselink.composite-unit.properties" property may be passed to createEntityManagerFactory method of a composite persistence unit to pass properties to member persistence units.

        The value is a map:
          the key is a member persistence unit's name,
          the value is a map of properties to be passed to this persistence unit.

         "eclipselink.composite-unit.properties" -> (
            ("memberPu1" -> (
               "javax.persistence.jdbc.user" -> "user1",
               "javax.persistence.jdbc.password" -> "password1",
               "javax.persistence.jdbc.driver" -> "oracle.jdbc.OracleDriver",
               "javax.persistence.jdbc.url" -> "jdbc:oracle:thin:@oracle_db_url:1521:db"
            ),
            ("memberPu2" -> (
               "javax.persistence.jdbc.user" -> "user2",
               "javax.persistence.jdbc.password" -> "password2",
               "javax.persistence.jdbc.driver" -> "com.mysql.cj.jdbc.Driver",
               "javax.persistence.jdbc.url" -> "jdbc:mysql://my_sql_db_url:3306/user2"
            )
          )
        See Also:
        COMPOSITE_UNIT, Constant Field Values
      • REMOTE_PROTOCOL

        public static final java.lang.String REMOTE_PROTOCOL
        The "eclipselink.remote.protocol" property configures remote JPA for a client or server. This allows JPA to be access over RMI or other protocol from a remote Java client.

        Allowed Values:

        • "rmi"
        • the fully qualified name for a class that extends RemoteConnection abstract class
        See Also:
        RemoteProtocol, RemoteConnection, RemoteSession, Constant Field Values
      • REMOTE_URL

        public static final java.lang.String REMOTE_URL
        The "eclipselink.remote.client.url" property configures remote JPA for a client. This allows JPA to be access over RMI or other protocol from a remote Java client.

        The URL is the complete URL used to access the RMI server.

        See Also:
        REMOTE_PROTOCOL, Constant Field Values
      • REMOTE_SERVER_NAME

        public static final java.lang.String REMOTE_SERVER_NAME
        The "eclipselink.remote.server.name" property configures remote JPA for a server. This allows JPA to be access over RMI or other protocol from a remote Java client.

        The name is the name the server will be registered under in the RMI registry.

        See Also:
        REMOTE_PROTOCOL, Constant Field Values
      • NOSQL_CONNECTION_SPEC

        public static final java.lang.String NOSQL_CONNECTION_SPEC
        The "eclipselink.nosql.connection-spec" property allows the connection information for an NoSQL or EIS datasource to be specified.

        An NoSQL datasource is a non-relational datasource such as a legacy database, NoSQL database, XML database, transactional and messaging systems, or ERP systems.

        See Also:
        EISConnectionSpec, NoSql, Constant Field Values
      • NOSQL_CONNECTION_FACTORY

        public static final java.lang.String NOSQL_CONNECTION_FACTORY
        The "eclipselink.nosql.connection-factory" property allows the JCA ConnectionFactory to be specified for a NoSQL or EIS adapter.

        An NoSQL datasource is a non-relational datasource such as a legacy database, NoSQL database, XML database, transactional and messaging systems, or ERP systems.

        See Also:
        ConnectionFactory, Constant Field Values
      • NOSQL_PROPERTY

        public static final java.lang.String NOSQL_PROPERTY
        The "eclipselink.nosql.property." property prefix allows setting NoSQL connection properties. The NoSQL specific property name should be appended to this prefix.

        i.e. "eclipselink.nosql.property.nosql.host"="localhost:5000"

        See Also:
        EISConnectionSpec, NoSql, Constant Field Values
      • NOSQL_USER

        public static final java.lang.String NOSQL_USER
        The "eclipselink.nosql.property.user" property specifies user name for NoSQL connection.
        Note that "javax.persistence.jdbc.user" is also supported.
        See Also:
        EISConnectionSpec, NoSql, JDBC_USER, Constant Field Values
      • NOSQL_PASSWORD

        public static final java.lang.String NOSQL_PASSWORD
        The "eclipselink.nosql.property.password" property specifies password for NoSQL connection.
        Note that "javax.persistence.jdbc.password" is also supported.
        See Also:
        EISConnectionSpec, NoSql, JDBC_PASSWORD, Constant Field Values
      • JDBC_CONNECTOR

        public static final java.lang.String JDBC_CONNECTOR
        The "eclipselink.jdbc.connector" property.
        Allows a custom connector to be used to define how to connect to the database. This is not required if a DataSource or JDBC DriverManager is used. It can be used to connect to a non standard connection pool, or provide additional customization in how a connection is obtained.
        See Also:
        JNDIConnector, DefaultConnector, Constant Field Values
      • JDBC_PROPERTY

        public static final java.lang.String JDBC_PROPERTY
        The "eclipselink.jdbc.property." property allows passing of JDBC driver specific connection properties. This allows for properties to be set on the JDBC connection. The JDBC driver specific property name should be appended to this prefix.

        i.e.
        "eclipselink.jdbc.property.defaultRowPrefetch"="25"

        See Also:
        DatasourceLogin.setProperty(String, Object), Constant Field Values
      • JDBC_RESULT_SET_ACCESS_OPTIMIZATION

        public static final java.lang.String JDBC_RESULT_SET_ACCESS_OPTIMIZATION
        The "eclipselink.jdbc.result-set-access-optimization" property allows to set whether a query should by default use ResultSet Access optimization.

        The optimization allows to avoid getting objects from ResultSet if the cached object used. For instance, SELECT id, blob FROM .. with optimization would extract only "id" from ResultSet, and if there is a corresponding cached object and it's not a refresh query, "blob" would never be extracted. The draw back is keeping ResultSet and connection longer: until objects are built (or extracted from cache) for all rows and all eager references (direct and nested) for each row. Note that the optimization would not be used if it contradicts other query settings.

        Allowed Values (String):

        • "false" - don't use optimization
        • "true" - use optimization

        Default value is ObjectLevelReadQuery.isResultSetAccessOptimizedQueryDefault = false;

        See Also:
        AbstractSession.setShouldOptimizeResultSetAccess(boolean), ObjectLevelReadQuery.setIsResultSetAccessOptimizedQuery(boolean), Constant Field Values
      • SERIALIZER

        public static final java.lang.String SERIALIZER
        The "eclipselink.serializer" property specifies class name for session serializer (must implement Serializer)

        Default value is "org.eclipse.persistence.sessions.serializers.JavaSerializer"

        See Also:
        AbstractSession.setSerializer(Serializer), JavaSerializer, Serializer, Constant Field Values
      • JPQL_TOLERATE

        public static final java.lang.String JPQL_TOLERATE
        The "eclipselink.tolerate-invalid-jpql" property allows an EntityManager to be created even in the event that an application has invalid JPQL statements declared in annotations or xml.

        Allowed Values (String):

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • USE_LOCAL_TIMESTAMP

        public static final java.lang.String USE_LOCAL_TIMESTAMP
        The "eclipselink.locking.timestamp.local" property defines if locking policies should default to local time(true) or server time(false).

        Allowed Values (String):

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • SQL_CALL_DEFERRAL

        public static final java.lang.String SQL_CALL_DEFERRAL
        The "eclipselink.jpa.sqlcall.deferral.default" property defines if SQL calls should be deferred to end of transaction by default or not. When setting this property to false, 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:
        Constant Field Values
      • NAMING_INTO_INDEXED

        public static final java.lang.String NAMING_INTO_INDEXED
        The "eclipselink.jpa.naming_into_indexed" property defines if stored procedure parameters passed by name should be transformed into positional/index based passing if property value will be true. e.g. For stored procedure: CREATE PROCEDURE test_stored_proc1( IN param1 TEXT, IN param2 INTEGER ) following Java call query.registerStoredProcedureParameter( "param1",Integer.class,ParameterMode.IN ); query.registerStoredProcedureParameter( "param2",String.class,ParameterMode.IN ); will be transformed into following e.g. {call test_stored_proc1(10, 'abcd')} instead of default {call test_stored_proc1(param1 => 10, param2 => 'abcd')} It's important to register parameters in Java in a same order as they specified in the stored procedure. This code was added there to ensure backward compatibility with older EclipseLink releases.

        Allowed Values (String):

        • "false" (DEFAULT)
        • "true"
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME

        public static final java.lang.String CONCURRENCY_MANAGER_ACQUIRE_WAIT_TIME
        This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how much time loop wait before it try acquire lock for current thread again. It value is set above above 0 dead lock detection mechanism and related extended logging will be activated. Default value is 0 (unit is ms). Allowed values are: long
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME

        public static final java.lang.String CONCURRENCY_MANAGER_BUILD_OBJECT_COMPLETE_WAIT_TIME
        This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how much time ConcurrencyManager will wait before it will identify, that thread which builds new object/entity instance should be identified as a potential dead lock source. It leads into some additional log messages. Default value is 0 (unit is ms). In this case extended logging is not active. Allowed values are: long
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_MAX_SLEEP_TIME

        public static final java.lang.String CONCURRENCY_MANAGER_MAX_SLEEP_TIME
        This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager. It control how long we are willing to wait before firing up an exception Default value is 40000 (unit is ms). Allowed values are: long
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE

        public static final java.lang.String CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_TINY_MESSAGE
        This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil. It control how frequently the tiny dump log message is created. Default value is 40000 (unit is ms). Allowed values are: long
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE

        public static final java.lang.String CONCURRENCY_MANAGER_MAX_FREQUENCY_DUMP_MASSIVE_MESSAGE
        This system property in milliseconds can control thread management in org.eclipse.persistence.internal.helper.ConcurrencyManager and org.eclipse.persistence.internal.helper.ConcurrencyUtil. It control how frequently the massive dump log message is created. Default value is 60000 (unit is ms). Allowed values are: long
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION

        public static final java.lang.String CONCURRENCY_MANAGER_ALLOW_INTERRUPTED_EXCEPTION

        This property control (enable/disable) if InterruptedException fired when dead-lock diagnostic is enabled.

        Allowed Values (case sensitive String):

        • "false" - if aborting frozen thread is not effective it is preferable to not fire the interrupted exception let the system In the places where use this property normally if a thread is stuck it is because it is doing object building. Blowing the threads ups is not that dangerous. It can be very dangerous for production if the dead lock ends up not being resolved because the productive business transactions will become cancelled if the application has a limited number of retries to for example process an MDB. However, the code spots where we use this constant are not as sensible as when the write lock manager is starving to run commit.
        • "true" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired locks and allow other threads to progress.
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION

        public static final java.lang.String CONCURRENCY_MANAGER_ALLOW_CONCURRENCY_EXCEPTION

        This property control (enable/disable) if ConcurrencyException fired when dead-lock diagnostic is enabled.

        Allowed Values (case sensitive String):

        • "false" - if aborting frozen thread is not effective it is preferable to not fire the concurrency exception let the system freeze and die and force the administration to kill the server. This is preferable to aborting the transactions multiple times without success in resolving the dead lock and having business critical messages that after 3 JMS retries are discarded out. Failing to resolve a dead lock can have terrible impact in system recovery unless we have infinite retries for the business transactions.
        • "true" (DEFAULT) - if we want the to fire up an exception to try to get the current thread to release all of its acquired locks and allow other threads to progress.
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK

        public static final java.lang.String CONCURRENCY_MANAGER_ALLOW_STACK_TRACE_READ_LOCK

        This property control (enable/disable) collection debug/trace information during ReadLock acquisition, when dead-lock diagnostic is enabled.

        Allowed Values (case sensitive String):

        • "false" (DEFAULT) - don't collect debug/trace information during ReadLock acquisition
        • "true" - collect debug/trace information during ReadLock acquisition. Has negative impact to the performance.
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING

        public static final java.lang.String CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_OBJECT_BUILDING

        This property control (enable/disable) semaphore in ObjectBuilder

        Object building see ObjectBuilder could be one of the primary sources pressure on concurrency manager. Most of the cache key acquisition and releasing is taking place during object building. Enable true this property to try reduce the likelihood of having dead locks is to allow less threads to start object building in parallel. In this case there should be negative impact to the performance. Note: Parallel access to the same entity/entity tree from different threads is not recommended technique in EclipseLink.
        • "true" - means we want to override vanilla behavior and use a semaphore to not allow too many threads in parallel to do object building
        • "false" (DEFAULT) - means just go ahead and try to build the object without any semaphore (false is vanilla behavior).
        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS

        public static final java.lang.String CONCURRENCY_MANAGER_USE_SEMAPHORE_TO_SLOW_DOWN_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS

        This property control (enable/disable) semaphore in WriteLockManager.acquireRequiredLocks(org.eclipse.persistence.internal.sessions.MergeManager, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet)

        This algorithm 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:
        Constant Field Values
      • CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS

        public static final java.lang.String CONCURRENCY_MANAGER_OBJECT_BUILDING_NO_THREADS

        This property control number of threads in semaphore in ObjectBuilder If "eclipselink.concurrency.manager.object.building.semaphore" property is true default value is 10. Allowed values are: int If "eclipselink.concurrency.manager.object.building.semaphore" property is false (DEFAULT) number of threads is unlimited.

        See Also:
        Constant Field Values
      • CONCURRENCY_MANAGER_WRITE_LOCK_MANAGER_ACQUIRE_REQUIRED_LOCKS_NO_THREADS

        public static final java.lang.String 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 is true default value is 2. Allowed values are: int If "eclipselink.concurrency.manager.write.lock.manager.semaphore" property is false (DEFAULT) number of threads is unlimited.

        See Also:
        Constant Field Values
      • CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT

        public static final java.lang.String CONCURRENCY_SEMAPHORE_MAX_TIME_PERMIT

        This property control semaphore the maximum time to wait for a permit in ConcurrencySemaphore.acquireSemaphoreIfAppropriate(boolean) It's passed to Semaphore.tryAcquire(long, TimeUnit) Default value is 2000 (unit is ms). Allowed values are: long

        See Also:
        Constant Field Values
      • CONCURRENCY_SEMAPHORE_LOG_TIMEOUT

        public static final java.lang.String 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:
        Constant Field Values
      • QUERY_RESULTS_CACHE_VALIDATION

        public static final java.lang.String QUERY_RESULTS_CACHE_VALIDATION

        This property control (enable/disable) query result cache validation in UnitOfWorkImpl.internalExecuteQuery(org.eclipse.persistence.queries.DatabaseQuery, org.eclipse.persistence.internal.sessions.AbstractRecord)

        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 like em.find(...); or JPQL queries like SELECT e FROM Entity e. It should be controlled at query level too by query hint QueryHints.QUERY_RESULTS_CACHE_VALIDATION
        • "true" - validate query result object tree and if content is not valid print diagnostic messages. In this case there should be negative impact to the performance.
        • "false" (DEFAULT) - don't validate and print any diagnostic messages
        See Also:
        Constant Field Values
      • LOGIN_ENCRYPTOR

        public static final java.lang.String LOGIN_ENCRYPTOR
        The "eclipselink.login.encryptor" property configures a custom implementation of Securable class used to encrypt and decrypt database password loaded from "jakarta.persistence.jdbc.password" property. Usage of this property avoids limitation of SessionCustomizer which is called when all other properties have been processed (too late when database login needs to be configured). If this property is not specified JCEEncryptor as a default encryptor is used.

        Allowed Values:

        • the fully qualified name for a class that implements Securable interface
        See Also:
        Securable, JCEEncryptor, Constant Field Values
      • PROPERTY_LOG_OVERRIDES

        public static final java.util.Map<java.lang.String,​java.lang.String> PROPERTY_LOG_OVERRIDES
        INTERNAL: The following properties will not be displayed through logging but instead have an alternate value shown in the log.
    • Constructor Detail

      • PersistenceUnitProperties

        public PersistenceUnitProperties()
    • Method Detail

      • getOverriddenLogStringForProperty

        public static java.lang.String getOverriddenLogStringForProperty​(java.lang.String propertyName)
        INTERNAL: Return the overridden log string.
        Parameters:
        propertyName - property which value should be overriden in the log
        Returns:
        the overridden log string
      • getSupportedNonServerSessionProperties

        public static java.util.Set<java.lang.String> getSupportedNonServerSessionProperties()