Java Persistence API, más conocida por sus siglas JPA, es una API de persistencia desarrollada para la plataforma Java EE.
Maneja datos relacionales en aplicaciones usando la Plataforma Java en sus ediciones Standard (Java SE) y Enterprise (Java EE).
La JPA se origina a partir del trabajo del JSR 220 Expert Group el cual correspondía a EJB3. JPA 2.0 sería el trabajo del JSR 317 y posteriormente JPA 2.1 en el JSR 338.
Persistencia en este contexto cubre tres áreas:
La API en sí misma, definida en el paquete javax.persistence El lenguaje de consulta Java Persistence Query Language (JPQL). Metadatos objeto/relacional.
El objetivo que persigue el diseño de esta API es no perder las ventajas de la orientación a objetos al interactuar con una base de datos (siguiendo el patrón de mapeo objeto-relacional), como sí pasaba con EJB2, y permitir usar objetos regulares (conocidos como POJO).
Historia La fecha del lanzamiento final de las especificaciones del JPA 1.0 fue el 11 de mayo de 2006. Esta fue parte del Proceso de comunidad Java (Java Community Process). Las especificaciones de la versión JPA 2.0 fueron lanzadas el 10 de diciembre de 2009. Mientras las de la JPA 2.1 se lanzó el 22 de abril de 2013.
Entidades (Entities) Una entidad de persistencia (entity) es una clase de Java ligera, cuyo estado es persistido de manera asociada a una tabla en una base de datos relacional. Las instancias de estas entidades corresponden a un registro (conjunto de datos representados en una fila) en la tabla. Normalmente las entidades están relacionadas con otras entidades, y estas relaciones son expresadas a través de metadatos objeto/relacional. Los metadatos del objeto/relacional pueden ser especificados directamente en el fichero de la clase, usando las anotaciones de Java (annotations), o en un documento descriptivo XML, el cual es distribuido junto con la aplicación.
Implementaciones Hibernate ObjectDB TopLink CocoBase EclipseLink OpenJPA Kodo DataNucleus, antes conocido como JPOX Amber
Frameworks OpenXava: Motor de Aplicación JPA: Para el desarrollo rápido de aplicaciones desde entidades JPA.
Véase también Java (lenguaje de programación) Persistencia (informática) API Mapeo objeto-relacional Plain Old Java Object
Enlaces externos Tutorial de introducción a JPA 2.0
Categoría:Tecnologías Java EE Categoría:Frameworks de Java