Qualquer aplicativo empresarial realiza operações de base de dados, armazenando e recuperando a grandes quantidades de dados. Apesar de todas as tecnologias disponíveis para a gestão de armazenamento, os desenvolvedores de aplicativos normalmente luta para realizar operações da base de dados eficiente.
Em geral, os desenvolvedores Java usar lotes de código, ou usar a estrutura proprietária para interagir com o banco de dados, considerando que usando a JPA, o ónus de interagir com a base de dados reduz significativamente. Ele faz uma ponte entre modelos de objeto (programa Java) e os modelos relacionais (programa de banco).
Objetos relacionais são representados em um formato tabular, enquanto modelos de objeto são representadas em uma rede interligada de formato de objeto gráfico. Durante o armazenamento e a recuperação de um objeto modelo de um banco de dados relacional, alguma diferença ocorre devido a um dos seguintes motivos:
Granularidade: Object model tem mais granularidade de modelo relacional.
Subtipos: subtipos (significa herança) não são suportados por todos os tipos de bases de dados relacionais.
Identidade: Como object model, modelo relacional não expor identidade ao escrever a igualdade de oportunidades.
Associações: os modelos relacionais não é possível determinar múltiplas relações, enquanto olhando para o objeto modelo de domínio.
Os dados navegação: navegação de dados entre os objetos em um objeto rede é diferente em ambos os modelos.
Java Persistence API é um conjunto de classes e métodos de armazenamento persistente de vastas quantidades de dados em um banco de dados o que é fornecido pela Oracle Corporation.
A fim de reduzir o peso de escrever códigos para gerenciamento de objetos relacionais, um programador segue o "JPA" quadro Fornecedor, que permite a fácil interação com instância de banco de dados. Aqui o quadro é tomado pela JPA.
As versões anteriores do EJB, definido persistência camada combinada com camada de lógica comercial usando javax.microedition.media ejb.EntityBean Interface.
Enquanto a introdução EJB 3.0 a persistência camada foi separado e especificada como JPA 1.0 (Java Persistence API). As especificações da API foram liberados juntamente com as especificações do Java EE5 em 11 de Maio de 2006 usando JSR 220.
JPA 2.0 foi lançado com as especificações do Java EE6 em 10 de Dezembro de 2009 como parte do Java Community Process JSR 317.
JPA 2.1 foi lançado, com a especificação do Java EE para 7 DIAS POR SEMANA 22 de Abril de 2013 usando JSR 338.
JPA é uma API open source, pois várias empresas fornecedores como Oracle, Redhat, Eclipse, etc. oferecer novos produtos, adicionando o sabor de persistência JPA. Alguns desses produtos são:
O Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.