La historia de JPA se origina en dos frameworks de persistencia bastante utilizados: en el lado propietario existía TopLink mientras que en el lado “open” estaba Hibernate.
JPA es una especificación basada en el JSR 220 conocido como “Enterprise Java Bean 3.0” (http://jcp.org/en/jsr/detail?id=220 ).
Al ser una especificación (o un conjunto de API’s) está sujeta a diversas implementaciones de diversos fabricantes. La idea principal es que sea un Framework ligero, basado en POJOs y pueda enfrentar desafíos de arquitectura e integración en aplicaciones empresariales.
El concepto de “Entidad” fue introducido por Peter Chen en un documento llamado “The Entity-relationship model – Howard a unified view of data” publicado en “ACM Transactions on Database Systems” en el año de 1976
En dicho documento se describía a las entidades como cosas que tenían “atributos” y “relaciones” con la expectativa de que dichos atributos y relaciones pudieran ser almacenados en la base de datos.
¿ Cómo convertimos una clase POJO a Entidad JPA ? ... Hay 2 caminos :
- usando anotaciones
- usando el mapeo ORM en XML
El más fácil (a mi parecer) es usando anotaciones ... mira el ejemplo siguiente: Sólo necesitamos agregar la anotación @Entity y @Id (para indicar cual es la PK de la entidad ).
Ten en cuenta que por defecto JPA asume que la entidad está mapeada contra una tabla que se llama igual que la Clase Java, aunque hay formas de especificar el nombre de la tabla (usando la anotación @Table ).
Obviamente, falta configurar ( al igual que en Ibatis ) otro archivo para que durante el tiempo de ejecución, la JVM sepa que está trabajando con Entidades. Esto es materia del siguiente post.
Comenta que impresión tienes ahora sobre JPA.
Una implementacion de JPA siempre deberia tener en su modelo de datos con tablas que manejen Primary key, De lo contrario seria un dolor de cabeza
ResponderEliminar