Visão geral do recurso Java Persistence API (JPA)

Existem três recursos JPA que podem ser usados para seu aplicativo. O jpa-2.0 é construído no projeto de software livre do Apache OpenJPA. jpa-2.1 e jpa-2.2 são baseados no projeto de software livre EclipseLink.

Open Liberty Para as informações mais recentes sobre como utilizar o JPA para acessar e persistir dados em um banco de dados para microserviços, consulte o Acessando e persistindo dados em guia de microserviços.

jpa-2.0

Java™ Persistence API (JPA) 2.0 para WebSphere Application Server é construído no projeto de software livre Apache OpenJPA 2.2.x .

O Apache OpenJPA é uma implementação compatível com as especificações do JPA 1.0 e 2.0. Usando OpenJPA como uma implementação base, o WebSphere® Application Server emprega extensões para fornecer mais recursos e utilitários para clientes do WebSphere Application Server . Como o JPA para WebSphere Application Server foi criado a partir de OpenJPA,, todas as funções, extensões e configurações de OpenJPA não são afetadas pelas extensões de WebSphere Application Server. Não é necessário fazer mudanças nos aplicativos OpenJPA para usar esses aplicativos em WebSphere Application Server

O JPA para WebSphere Application Server fornece mais do que compatibilidade com OpenJPA. O JPA para o WebSphere Application Server contém um conjunto de ferramentas para desenvolvimento e implementação do aplicativo Outros recursos do JPA para WebSphere Application Server incluem suporte para DB2®Optim pureQuery Runtime, otimizações do DB2 , JPA Access Intent, recursos de rastreio aprimorados, scripts de comandos e arquivos de mensagens traduzidos. O provedor de JPA para esse produto é com.ibm.websphere.persistence.PersistenceProviderImpl.

O Apache OpenJPA suporta o uso de propriedades para configurar o ambiente persistente. Você pode especificar JPA para propriedades do WebSphere Application Server com o prefixo openjpa ou wsjpa . Será possível combinar os prefixos openjpa e wsjpa conforme você desejar para um conjunto comum de propriedades. As exceções para a regra são as propriedades de configuração específicas do wsjpa, que usam o prefixo wsjpa. Quando uma JPA para WebSphere Application Server-propriedade específica é usada com o prefixo openjpa , uma mensagem de aviso é registrada indicando que a propriedade ofensa é tratada como uma propriedade wsjpa . O inverso não é verdadeiro para o prefixo openjpa. Nesse caso, a propriedade inválida é ignorada.

Recurso Estabilizado: O recurso jpa-2.0 está estabilizado. É possível continuar a usar o recurso jpa-2.0. No entanto, considere usar um recurso JPA mais recente.

jpa-2.1

Java Persistence API (JPA) 2.1 para WebSphere Application Server é construído no projeto de software livre EclipseLink . EclipseLink é a implementação de referência para todas as versões da especificação JPA. O provedor de JPA para esse produto é org.eclipse.persistence.jpa.PersistenceProvider.

A especificação JPA 2.1 incluiu novos recursos que não estão disponíveis na especificação JPA 2.0. Esses recursos incluem:

  • Geração do esquema
  • Métodos de conversão de tipo
  • Gráficos de entidade em consultas e operações de localização
  • Contextos de persistência não sincronizados
  • Chamada de procedimento armazenado
  • Injeção em classes de listener de Entidade
  • Aprimoramentos do JPQL
  • Aprimoramentos da API de Critérios
  • Mapeamento de consultas nativas

Consulte a especificação do JPA 2.1 para obter mais detalhes sobre esses recursos Esse produto também fornece um subconjunto das APIs EclipseLink. Consulte a página do recurso Liberty , Java Persistence API 2.1para obter detalhes.

Nota: JPA 2.1 é compatível com JPA 2.0.

jpa-2.2

Java Persistence API (JPA) 2.2 para WebSphere Application Server é construído no projeto de software livre EclipseLink . EclipseLink é a implementação de referência para todas as versões da especificação JPA. O provedor de JPA para esse produto é org.eclipse.persistence.jpa.PersistenceProvider.

Nota: JPA 2.2 é compatível com JPA 2.1 e JPA 2.0.

Open Liberty Para as informações mais recentes sobre como utilizar o JPA para acessar e persistir dados em um banco de dados para microserviços, consulte o Acessando e persistindo dados em guia de microserviços.

Compatibilidade do recurso JPA

jpa-2.0

O recurso jpa-2.0 é a implementação da especificação JPA 2.0 e é suportado pelo Apache OpenJPA. Esse recurso é uma parte da família de tecnologias Java Platform, Enterprise Edition (Java EE) 6, mas é especial porque é compatível com outros recursos do Java EE 7. Por exemplo, o recurso servlet-3.1, um recurso do Java EE 7, é usado com o recurso jpa-2.0. Isso permite que os aplicativos permaneçam com o provedor JPA existente, mas também usem novos recursos do Java EE 7.

jpa-2.1

O recurso jpa-2.1 é a implementação da especificação JPA 2.1 e é suportado pelo EclipseLink.. Esse recurso é compatível somente com outros recursos do Java EE 7. Se o recurso jpa-2.1 for usado com outros recursos do Java EE 6, o erro a seguir será emitido para o arquivo message.log.

CWWKF0033E: os recursos singleton com.ibm.websphere.appserver.javaeeCompatible-7.0 e com.ibm.websphere.appserver.javaeeCompatible-6.0 não podem ser carregados ao mesmo tempo.  Os recursos configurados jpa-2.1 e servlet-3.0 incluem um ou mais recursos que causam o conflito. Sua configuração não é suportada; atualize server.xml para remover
recursos incompatíveis.