Java Persistence API
Java Persistence API | ||
---|---|---|
Información general | ||
Desarrollador | Sun Microsystems | |
Información técnica | ||
Programado en | Java | |
Versiones | ||
Última versión estable | 3.2.020 de septiembre de 2024 | |
Enlaces | ||
Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataforma Java EE
Es un framework del lenguaje de programación Java que maneja datos relacionales en aplicaciones usando la Plataforma Java en sus ediciones Standard (Java SE) y Enterprise (Java EE).
La JPA fue originada a partir del trabajo del JSR 220 Expert Group. Ha sido incluida en el estándar EJB3.
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 POJOs).
Historia
La fecha del lanzamiento final de las especificaciones del JPA 1.0 fue el 11 de mayo del 2006. Esta fué parte del Proceso de comunidad Java (Java Community Process). Las especificaciones de la versión JPA 2.0 fueron lanzadas el 10 de Diciembre del 2009. Mientras las de la JPA 2.1 se lanzó el 22 de Abril del 2013.
Entidades (Entities)
Una entidad de persistencia (entity) es una clase de java ligera cuyo estado es persistido de manera típica a una tabla en una base de datos relacional. Las instancias de estas entidades corresponden a un registro (conjunto de datos) en la tabla. Normalmente las entidades están relacionadas a otras entidades y estas relaciones son expresadas a través del objeto/relacional metadata. La metadata del objeto/relacional puede ser especificada directamente en el fichero de la clase usando las anotaciones 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.