JPA - Introduccin
Cualquier aplicacin empresarial realiza operaciones con la base de almacenar y recuperar grandes cantidades de datos. A pesar de todas las tecnologas disponibles para la gestin de almacenamiento, los desarrolladores de aplicaciones normalmente lucha para realizar operaciones de base eficiente.
En general, los desarrolladores de Java utilizan gran cantidad de cdigo, o bien utilice el marco propio para interactuar con la base de datos, mientras que con JPA, la carga de interactuar con la base de datos reduce considerablemente. Constituye un puente entre los modelos de objetos (programa Java) y modelos relacionales (programa de base de datos).
Las discordancias entre los modelos relacionales y objeto
Objetos relacionales estn representados en un formato tabular, mientras que modelos de objetos son representados en un grfico de interconexin formato de objeto. Al almacenar y recuperar un modelo de objetos a partir de una base de datos relacional, alguna incongruencia se produce debido a las siguientes razones:
Granularidad: modelo de objetos tiene mayor nivel de detalle del modelo relacional.
Los subtipos: subtipos (significa herencia) no son compatibles con todos los tipos de bases de datos relacionales.
Identidad : Como modelo de objetos, modelo relacional no identidad, a la vez que exponer por escrito la igualdad.
Asociaciones : modelos relacionales no puede determinar relaciones mltiples mientras se mira a un objeto modelo de dominio.
Navegacin de datos: Los datos de navegacin entre objetos en un objeto red es diferente en ambos modelos.
Qu es JPA?
Java Persistence API es un conjunto de clases y mtodos que persistentemente almacenar la gran cantidad de datos a una base de datos que es proporcionada por Oracle Corporation.
Dnde usar JPA?
Para reducir la carga de escribir cdigos relacionales para gestin de objetos, un programador sigue el "Proveedor" marco JPA, que permite la fcil interaccin con instancia de la base de datos. Aqu el marco necesario se realiza a travs de JPA.

JPA Historia
Las versiones anteriores de EJB, define persistencia capa combinada con capa de lgica empresarial utilizando javax.ejb.EntityBean Interfaz.
Al mismo tiempo, introduce EJB 3.0 , la persistencia de capa se separ y se especifica en JPA 1.0 (Java Persistence API). Las especificaciones de esta API se libera junto con las especificaciones de JAVA EE5 11 de mayo de 2006, utilizando JSR 220.
JPA 2.0 fue lanzado con las especificaciones de JAVA EE6 en 10 de diciembre de 2009 como parte del proceso de Comunidad Java JSR 317.
JPA 2.1 fue lanzado con la especificacin de JAVA EE7 el 22 de abril de 2013 utilizando JSR 338.
JPA Proveedores
APP es una API open source, por lo tanto distintos proveedores como Oracle, Redhat, Eclipse, etc. proporcionar nuevos productos mediante la adicin de la persistencia JPA sabor en ellas. Algunos de estos productos incluyen:
Hibernate, Eclipselink, Toplink, Muelle Datos JPA, etc.