Jakarta Persistence
3.1
3.0
2.2
2.1

This feature enables support for applications that use application-managed and container-managed persistence. This feature includes Jakarta Persistence 3.1 specification interfaces and container-managed persistence integration. EclipseLink is also included as the default persistence provider implementation.

Enabling this feature

To enable the Jakarta Persistence 3.1 feature, add the following element declaration into your server.xml file, inside the featureManager element:

<feature>persistence-3.1</feature>

Example

Configure JPA logging

The Open Liberty logging component supports viewing, tracing, and troubleshooting the runtime behavior of an application. When the Jakarta Persistence API (JPA) feature is enabled, all JPA logging and tracing is routed through the Open Liberty logging component.

You can customize the level of detail for JPA logging by specifying the logging element in your server.xml file, as shown in the following example:

<logging  traceSpecification="JPA=all" />

In this example, the JPA=all value for the traceSpecification attribute specifies that all JPA container trace and EclipseLink trace categories are enabled. For more information about logging attributes, see the logging element.

Open Liberty logging recognizes the following EclipseLink-specific log categories: sql, transaction, event, connection, query, cache, propagation, sequencing, ejb, dms, metadata, weaver, properties, server.

You can enable JPA container trace and all EclipseLink log categories by specifying the following configuration:

<logging  traceSpecification="eclipselink=all" />

You can specify individual EclipseLink log categories by using the following syntax for the traceSpecification attribute: eclipselink.{log-category}=all.

For example, to enable EclipseLink SQL trace, you can specify a configuration similar to the following example:

<logging  traceSpecification="eclipselink.sql=all" />

For more information about configuring logging for your EclipseLink JPA instance, see EclipseLink: How To Configure Logging.

Feature configuration elements

Third-party API packages provided by this feature

  • org.eclipse.persistence

  • org.eclipse.persistence.annotations

  • org.eclipse.persistence.config

  • org.eclipse.persistence.core.descriptors

  • org.eclipse.persistence.core.mappings

  • org.eclipse.persistence.core.mappings.converters

  • org.eclipse.persistence.core.queries

  • org.eclipse.persistence.core.sessions

  • org.eclipse.persistence.descriptors

  • org.eclipse.persistence.descriptors.copying

  • org.eclipse.persistence.descriptors.invalidation

  • org.eclipse.persistence.descriptors.partitioning

  • org.eclipse.persistence.dynamic

  • org.eclipse.persistence.eis

  • org.eclipse.persistence.eis.interactions

  • org.eclipse.persistence.eis.mappings

  • org.eclipse.persistence.exceptions

  • org.eclipse.persistence.exceptions.i18n

  • org.eclipse.persistence.expressions

  • org.eclipse.persistence.expressions.spatial

  • org.eclipse.persistence.history

  • org.eclipse.persistence.internal.cache

  • org.eclipse.persistence.internal.codegen

  • org.eclipse.persistence.internal.core.databaseaccess

  • org.eclipse.persistence.internal.core.descriptors

  • org.eclipse.persistence.internal.core.helper

  • org.eclipse.persistence.internal.core.queries

  • org.eclipse.persistence.internal.core.sessions

  • org.eclipse.persistence.internal.databaseaccess

  • org.eclipse.persistence.internal.descriptors.changetracking

  • org.eclipse.persistence.internal.dynamic

  • org.eclipse.persistence.internal.expressions

  • org.eclipse.persistence.internal.helper

  • org.eclipse.persistence.internal.helper.linkedlist

  • org.eclipse.persistence.internal.history

  • org.eclipse.persistence.internal.indirection

  • org.eclipse.persistence.internal.jpa

  • org.eclipse.persistence.internal.jpa.deployment

  • org.eclipse.persistence.internal.jpa.deployment.xml.parser

  • org.eclipse.persistence.internal.jpa.jdbc

  • org.eclipse.persistence.internal.jpa.jpql

  • org.eclipse.persistence.internal.jpa.metadata

  • org.eclipse.persistence.internal.jpa.metadata.accessors

  • org.eclipse.persistence.internal.jpa.metadata.accessors.classes

  • org.eclipse.persistence.internal.jpa.metadata.accessors.mappings

  • org.eclipse.persistence.internal.jpa.metadata.accessors.objects

  • org.eclipse.persistence.internal.jpa.metadata.additionalcriteria

  • org.eclipse.persistence.internal.jpa.metadata.cache

  • org.eclipse.persistence.internal.jpa.metadata.changetracking

  • org.eclipse.persistence.internal.jpa.metadata.columns

  • org.eclipse.persistence.internal.jpa.metadata.converters

  • org.eclipse.persistence.internal.jpa.metadata.copypolicy

  • org.eclipse.persistence.internal.jpa.metadata.inheritance

  • org.eclipse.persistence.internal.jpa.metadata.listeners

  • org.eclipse.persistence.internal.jpa.metadata.locking

  • org.eclipse.persistence.internal.jpa.metadata.mappings

  • org.eclipse.persistence.internal.jpa.metadata.multitenant

  • org.eclipse.persistence.internal.jpa.metadata.nosql

  • org.eclipse.persistence.internal.jpa.metadata.partitioning

  • org.eclipse.persistence.internal.jpa.metadata.queries

  • org.eclipse.persistence.internal.jpa.metadata.sequencing

  • org.eclipse.persistence.internal.jpa.metadata.structures

  • org.eclipse.persistence.internal.jpa.metadata.tables

  • org.eclipse.persistence.internal.jpa.metadata.transformers

  • org.eclipse.persistence.internal.jpa.metadata.xml

  • org.eclipse.persistence.internal.jpa.metamodel

  • org.eclipse.persistence.internal.jpa.parsing

  • org.eclipse.persistence.internal.jpa.parsing.jpql

  • org.eclipse.persistence.internal.jpa.parsing.jpql.antlr

  • org.eclipse.persistence.internal.jpa.querydef

  • org.eclipse.persistence.internal.jpa.transaction

  • org.eclipse.persistence.internal.jpa.weaving

  • org.eclipse.persistence.internal.libraries.antlr.runtime

  • org.eclipse.persistence.internal.libraries.antlr.runtime.debug

  • org.eclipse.persistence.internal.libraries.antlr.runtime.misc

  • org.eclipse.persistence.internal.libraries.antlr.runtime.tree

  • org.eclipse.persistence.internal.libraries.asm

  • org.eclipse.persistence.internal.libraries.asm.commons

  • org.eclipse.persistence.internal.libraries.asm.signature

  • org.eclipse.persistence.internal.libraries.asm.tree

  • org.eclipse.persistence.internal.libraries.asm.tree.analysis

  • org.eclipse.persistence.internal.localization

  • org.eclipse.persistence.internal.localization.i18n

  • org.eclipse.persistence.internal.oxm

  • org.eclipse.persistence.internal.oxm.accessor

  • org.eclipse.persistence.internal.oxm.conversion

  • org.eclipse.persistence.internal.oxm.documentpreservation

  • org.eclipse.persistence.internal.oxm.mappings

  • org.eclipse.persistence.internal.oxm.record

  • org.eclipse.persistence.internal.oxm.record.deferred

  • org.eclipse.persistence.internal.oxm.record.json

  • org.eclipse.persistence.internal.oxm.record.namespaces

  • org.eclipse.persistence.internal.oxm.schema

  • org.eclipse.persistence.internal.oxm.schema.model

  • org.eclipse.persistence.internal.oxm.unmapped

  • org.eclipse.persistence.internal.platform.database

  • org.eclipse.persistence.internal.queries

  • org.eclipse.persistence.internal.security

  • org.eclipse.persistence.internal.sequencing

  • org.eclipse.persistence.internal.sessions

  • org.eclipse.persistence.internal.sessions.coordination

  • org.eclipse.persistence.internal.sessions.coordination.broadcast

  • org.eclipse.persistence.internal.sessions.coordination.corba

  • org.eclipse.persistence.internal.sessions.coordination.corba.sun

  • org.eclipse.persistence.internal.sessions.coordination.jms

  • org.eclipse.persistence.internal.sessions.coordination.rmi

  • org.eclipse.persistence.internal.sessions.coordination.rmi.iiop

  • org.eclipse.persistence.internal.sessions.factories

  • org.eclipse.persistence.internal.sessions.factories.model

  • org.eclipse.persistence.internal.sessions.factories.model.event

  • org.eclipse.persistence.internal.sessions.factories.model.log

  • org.eclipse.persistence.internal.sessions.factories.model.login

  • org.eclipse.persistence.internal.sessions.factories.model.platform

  • org.eclipse.persistence.internal.sessions.factories.model.pool

  • org.eclipse.persistence.internal.sessions.factories.model.project

  • org.eclipse.persistence.internal.sessions.factories.model.property

  • org.eclipse.persistence.internal.sessions.factories.model.rcm

  • org.eclipse.persistence.internal.sessions.factories.model.rcm.command

  • org.eclipse.persistence.internal.sessions.factories.model.sequencing

  • org.eclipse.persistence.internal.sessions.factories.model.session

  • org.eclipse.persistence.internal.sessions.factories.model.transport

  • org.eclipse.persistence.internal.sessions.factories.model.transport.discovery

  • org.eclipse.persistence.internal.sessions.factories.model.transport.naming

  • org.eclipse.persistence.internal.sessions.remote

  • org.eclipse.persistence.jpa.dynamic

  • org.eclipse.persistence.jpa.jpql

  • org.eclipse.persistence.jpa.jpql.parser

  • org.eclipse.persistence.jpa.jpql.tools

  • org.eclipse.persistence.jpa.jpql.tools.model

  • org.eclipse.persistence.jpa.jpql.tools.model.query

  • org.eclipse.persistence.jpa.jpql.tools.resolver

  • org.eclipse.persistence.jpa.jpql.tools.spi

  • org.eclipse.persistence.jpa.jpql.tools.utility

  • org.eclipse.persistence.jpa.jpql.tools.utility.filter

  • org.eclipse.persistence.jpa.jpql.tools.utility.iterable

  • org.eclipse.persistence.jpa.jpql.tools.utility.iterator

  • org.eclipse.persistence.jpa.jpql.utility

  • org.eclipse.persistence.jpa.jpql.utility.filter

  • org.eclipse.persistence.jpa.jpql.utility.iterable

  • org.eclipse.persistence.jpa.jpql.utility.iterator

  • org.eclipse.persistence.jpa.metadata

  • org.eclipse.persistence.logging

  • org.eclipse.persistence.mappings

  • org.eclipse.persistence.mappings.converters

  • org.eclipse.persistence.mappings.foundation

  • org.eclipse.persistence.mappings.querykeys

  • org.eclipse.persistence.mappings.structures

  • org.eclipse.persistence.mappings.transformers

  • org.eclipse.persistence.mappings.xdb

  • org.eclipse.persistence.oxm

  • org.eclipse.persistence.oxm.annotations

  • org.eclipse.persistence.oxm.attachment

  • org.eclipse.persistence.oxm.documentpreservation

  • org.eclipse.persistence.oxm.mappings

  • org.eclipse.persistence.oxm.mappings.converters

  • org.eclipse.persistence.oxm.mappings.nullpolicy

  • org.eclipse.persistence.oxm.platform

  • org.eclipse.persistence.oxm.record

  • org.eclipse.persistence.oxm.schema

  • org.eclipse.persistence.oxm.sequenced

  • org.eclipse.persistence.oxm.unmapped

  • org.eclipse.persistence.platform.database

  • org.eclipse.persistence.platform.database.converters

  • org.eclipse.persistence.platform.database.events

  • org.eclipse.persistence.platform.database.jdbc

  • org.eclipse.persistence.platform.database.oracle.annotations

  • org.eclipse.persistence.platform.database.oracle.jdbc

  • org.eclipse.persistence.platform.database.oracle.plsql

  • org.eclipse.persistence.platform.database.partitioning

  • org.eclipse.persistence.platform.server

  • org.eclipse.persistence.platform.xml

  • org.eclipse.persistence.platform.xml.jaxp

  • org.eclipse.persistence.sequencing

  • org.eclipse.persistence.services

  • org.eclipse.persistence.services.websphere

  • org.eclipse.persistence.sessions.broker

  • org.eclipse.persistence.sessions.changesets

  • org.eclipse.persistence.sessions.coordination

  • org.eclipse.persistence.sessions.coordination.broadcast

  • org.eclipse.persistence.sessions.coordination.corba

  • org.eclipse.persistence.sessions.coordination.corba.sun

  • org.eclipse.persistence.sessions.coordination.jms

  • org.eclipse.persistence.sessions.coordination.rmi

  • org.eclipse.persistence.sessions.factories

  • org.eclipse.persistence.sessions.interceptors

  • org.eclipse.persistence.sessions.remote

  • org.eclipse.persistence.sessions.remote.corba.sun

  • org.eclipse.persistence.sessions.remote.rmi

  • org.eclipse.persistence.sessions.remote.rmi.iiop

  • org.eclipse.persistence.sessions.serializers

  • org.eclipse.persistence.sessions.server

  • org.eclipse.persistence.tools

  • org.eclipse.persistence.tools.file

  • org.eclipse.persistence.tools.profiler

  • org.eclipse.persistence.tools.schemaframework

  • org.eclipse.persistence.tools.tuning

  • org.eclipse.persistence.tools.weaving.jpa

  • org.eclipse.persistence.transaction

  • org.eclipse.persistence.transaction.was

Features that this feature enables

Supported Java versions

  • JavaSE-11.0

  • JavaSE-17.0

  • JavaSE-21.0

  • JavaSE-23.0

Platform Versions

  • jakartaee-10.0

Features that enable this feature

Developing a feature that depends on this feature

If you are developing a feature that depends on this feature, include the following item in the Subsystem-Content header in your feature manifest file.

io.openliberty.persistence-3.1; type="osgi.subsystem.feature"