Visión general de la característica JPA (Java Persistence API)
Existen tres características JPA que puede utilizar para su aplicación. jpa-2.0 está basado en el proyecto de código fuente abierto Apache OpenJPA. jpa-2.1 y jpa-2.2 están basados en el proyecto de código abierto de EclipseLink.
Para obtener la información más reciente sobre cómo utilizar JPA para acceder y persistir datos en una base de datos para microservicios, consulte la publicación Acceso y persistencia de datos en la guía de microservicios.
jpa-2.0
Java™ Persistence API (JPA) 2.0 para WebSphere Application Server se basa en el proyecto de código abierto Apache OpenJPA 2.2.x .
Apache OpenJPA es una implementación compatible de las especificaciones JPA 1.0 y 2.0. Utilizando OpenJPA como implementación base, WebSphere® Application Server emplea extensiones para proporcionar más características y programas de utilidad para los clientes de WebSphere Application Server . Dado que JPA para WebSphere Application Server se construye a partir de OpenJPA,, todas las funciones, extensiones y configuraciones de OpenJPA no se ven afectadas por las extensiones de WebSphere Application Server. No es necesario realizar cambios en las aplicaciones OpenJPA para utilizar estas aplicaciones en WebSphere Application Server.
JPA para WebSphere Application Server proporciona más que compatibilidad con OpenJPA. JPA para WebSphere Application Server contiene un conjunto de herramientas para el desarrollo y despliegue de aplicaciones. Otras características de JPA para WebSphere Application Server incluyen soporte para DB2®Optim pureQuery Runtime, optimizaciones de DB2 , JPA Access Intent, prestaciones de rastreo mejoradas, scripts de mandatos y archivos de mensajes traducidos. El proveedor de JPA para este producto es com.ibm.websphere.persistence.PersistenceProviderImpl.
Apache OpenJPA da soporte al uso de propiedades para configurar el entorno persistente. Puede especificar JPA para las propiedades de WebSphere Application Server con el prefijo openjpa o wsjpa . Puede combinar los prefijos openjpa y wsjpa como desee para un conjunto de propiedades común. Las excepciones de la regla son las propiedades de configuración específicas de wsjpa, que utilizan el prefijo wsjpa. Cuando se utiliza una propiedad específica de JPA para WebSphere Application Servercon el prefijo openjpa , se registra un mensaje de aviso que indica que la propiedad infractora se trata como una propiedad wsjpa . Lo contrario no es cierto para el prefijo openjpa. En ese caso, la propiedad que incumpla la regla se omitirá.
jpa-2.0 se ha estabilizado. Puede continuar
utilizando la característica jpa-2.0. Sin embargo, considere la posibilidad de utilizar una característica JPA posterior.jpa-2.1
Java Persistence API (JPA) 2.1 para WebSphere Application Server se basa en el proyecto de código abierto EclipseLink . EclipseLink es la implementación de referencia para todas las versiones de la especificación JPA. El proveedor de JPA para este producto es org.eclipse.persistence.jpa.PersistenceProvider.
La especificación JPA 2.1 tiene características adicionales que no están disponibles en la especificación JPA 2.0. Estas características son:
- Generación de esquemas
- Métodos de conversión de tipos
- Gráficos de entidades en consultas y operaciones de búsqueda
- Contextos de persistencia sincronizados
- Invocación de procedimientos almacenados
- Inyección en clases de escuchas de entidades
- Mejoras de JPQL
- Mejoras de API de criterio
- Correlación de consultas nativas
Consulte la especificación JPA 2.1 para obtener más detalles sobre estas características. Este producto también proporciona un subconjunto de las API de EclipseLink. Consulte la página de características de Liberty , Java Persistence API 2.1, para obtener detalles.
jpa-2.2
Java Persistence API (JPA) 2.2 para WebSphere Application Server se basa en el proyecto de código abierto EclipseLink . EclipseLink es la implementación de referencia para todas las versiones de la especificación JPA. El proveedor de JPA para este producto es org.eclipse.persistence.jpa.PersistenceProvider.
Para obtener la información más reciente sobre cómo utilizar JPA para acceder y persistir datos en una base de datos para microservicios, consulte la publicación Acceso y persistencia de datos en la guía de microservicios.
Compatibilidad de la característica JPA
jpa-2.0La característica
jpa-2.0es la implementación de la especificación JPA 2.0 respaldada por Apache OpenJPA. Esta característica forma parte de la familia de tecnologías Java EE (Java Platform, Enterprise Edition) 6, pero es especial ya que es compatible con otras características Java EE 7. Por ejemplo, la característicaservlet-3.1y la característica Java EE 7 se utilizan con la característicajpa-2.0. Esto permite que las aplicaciones permanezcan con el proveedor JPA pero utilicen también las nuevas características Java EE 7.jpa-2.1La característica
jpa-2.1es la implementación de la especificación JPA 2.1 y está respaldada por EclipseLink. Esta característica solo es compatible con otras características Java EE 7. Si se utiliza la característicajpa-2.1con otras características Java EE 6, se emite el siguiente error en el archivo message.log.CWWKF0033E: Las características de singleton com.ibm.websphere.appserver.javaeeCompatible-7.0 y com.ibm.websphere.appserver.javaeeCompatible-6.0 no pueden cargarse al mismo tiempo. Las características jpa-2.1 y servlet-3.0 configuradas incluyen una o más características que son la causa del conflicto. La configuración no está soportada; actualice server.xml para eliminar características incompatibles.