Jpa (Persistencia)
ELO326 - Seminario de Computadores II
Paulina González - Raúl Pino
Veremos
• ¿Qué es Java Persistence API?
• Mapeo Objeto – Relación • Plain Old Java Object, POJO
• Ejemplos
¿QUÉ ES JPA?
¿Qué es JPA?
• Framework del lenguaje de programación Java que maneja
datos relacionales en aplicaciones.
• Es una abstracción sobre JDBC que nos permiterealizar
una correlación entre el sistema orientado a objetos de Java y el sistema relacional de la base de datos que se utilice.
• Esta correlación corresponde a una relación entre objetos Java
y tablas de la Base de Datos. Se le llama ORM (Object Relational Mapping - Mapeo Relacional de Objetos)
• La relación ORM puede ser: • Creación de tablas desde objetos Java. • Creación de objetos Javadesde tablas.
¿Qué es JPA?
• En vez de tratar directamente con los datos reales, las
aplicaciones pudiesen tratar con objetos que encapsulen dichos datos, el código de la capa de negocio se reduciría y permitiría al programador concentrarse en la lógica, en vez de codificar pesadas instrucciones JDBC.
¿Qué es JPA?
• JPA permite persistencia en tres áreas:
• La API en sí misma,definida en javax.persistence.package • Metadatos objeto/relacional. • La Java Persistence Query Language (JPQL)
• El objetivo que persigue su diseño es no perder las
ventajas de la orientación a objetos al interactuar con una base de datos.
• Se calcula que al usar JPA se puede conseguir un ahorro
de hasta un 40% en el código de la capa de negocio (en vez de JDBC).
¿Qué es JPA? -Entidades
• Las entidades constituyen las piezas claves de la capa
de persistencia.
• Son simples clases POJO cuyos campos representan el
estado persistente asociado a la entidad.
• Los valores almacenados en los campos de un objeto de
una clase de entidad, representan información existente en la base de datos.
• Básicamente una entidad se encuentra asociada a una
tabla.
¿Qué es JPA?- Entidades
• Dentro
de una entidad se usan distintos tipo de anotaciones para crear la asociación entre el objeto y la tabla en la base de datos.
• Toda entidad debe llevar la anotación @Entity. • Otros ejemplos de anotaciones: • @Id • @Table • @Column • @GeneratedValue,
¿Qué es JPA? - Entidades
¿Qué es JPA? - Entidades
Requerimientos de una clase entidad:
• La
clase debeparámetros.
tener
definido un constructor
sin
• Ninguno de los componentes de la clase (campos y
métodos) puede estar definido como final.
• Los campos de la entidad no pueden ser públicos. • Es obligatorio que toda entidad cuenta con una clave
primaria.
¿Qué es JPA? – PU
• Contenedor JPA en donde se ejecutará la aplicación
necesita determinada información para podermanipular la BD, para ello existe la unidad de persistencia.
• Ésta describe los siguientes datos:
• Clases de entidad que van a ser gestionadas por el proveedor de
persistencia.
• Clase con la implementación JPA del proveedor de persistencia
utilizado.
• Propiedades necesarias por el proveedor para conectar con la BD.
¿Qué es JPA? – PU
• Toda esta información debe quedar registrada en unarchivo llamado persistence.xml en el fichero META-INF de la aplicación.
¿Qué es JPA? – PU
• A partir
de la PU se definen los contextos de persistencia. Éste representa las instancias, pertenecientes a las clases de entidad definidas en la PU, que están siendo gestionadas.
• Gestión
de las EntityManager.
instancias
es
realizada
por
• La interfaz EntityManagerrepresenta el elemento mas
importante de JPA, ya que proporciona todos los métodos necesarios para que la aplicación pueda operar sobre los objetos de entidad.
¿Qué es JPA? – EntityManager
• Los proveedores de persistencia de JPA son capaces de
generar la EntityManager. A su vez se pueden crear manualmente, mediante otra interfaz llamada EntityManagerFactory.
• Gestionar instancias que...
Regístrate para leer el documento completo.