Java Persistence API

 Java Persistence API

  1. Qué es la Persistence API?
Es una API (Application Programming Interface) desarrollada para la plataforma Java EE. Es un framework de java que permite manejar datos relacionales en aplicaciones usando la plataforma Java en sus ediciones Standard y Enterprise.

La persistencia de datos es un medio mediante el cual una aplicación puede recuperar información desde un sistema de almacenamiento no volátil y hacer que esta persista. La persistencia de datos es vital en las aplicaciones empresariales debido al acceso necesario a las bases de datos relacionales. Las aplicaciones desarrolladas para este entorno deben gestionar por su cuenta la persistencia o utilizar soluciones de terceros para manejar las actualizaciones y recuperaciones de las bases de datos con persistencia. JPA (Java™ Persistence API) proporciona un mecanismo para gestionar la persistencia y la correlación relacional de objetos y funciona desde las especificaciones EJB 3.0.


La persistencia 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.
  1. Como se utiliza la Persistence API?
Ejemplo:


Un archivo "xml" se encargará de conectarnos a bases de datos, también define el conjunto de entidades que vamos a gestionar.

 version="2.0">
 <persistence-unit name="UnidadPersonas">
 <class>es.curso.bo.Persona</class>
 <properties>
 <property name= "hibernate.show_sql" value="true" />
 <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
 <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
 <property name="javax.persistence.jdbc.user" value="root" />
 <property name="javax.persistence.jdbc.password" value="jboss" />
 <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/jpa" />
</properties>
</persistence-unit>
</persistence>

Una vez un objeto se encuentra dentro del PersistenceContext el EntityManager será capaz de controlar todos los cambios que se han realizado en él y ejecutar las consultas adecuadas contra la base de datos. Ejemplo:


package com.arquitecturajava;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import es.curso.bo.Persona;
public class Principal01Add {
public static void main(String[] args) {
 Persona yo = new Persona("pedro",25);
 EntityManagerFactory emf =
 Persistence.createEntityManagerFactory("UnidadPersonas");
 EntityManager em = emf.createEntityManager();
 try {
 em.getTransaction().begin();
 em.persist(yo);
 em.getTransaction().commit();
 } catch (Exception e) {
 e.printStackTrace();
 }finally {
 em.close();
 }
 }
}
  1. Que es el modelado relacional y el modelado de objetos.
  • Modelado Relacional:
 Su idea fundamental es el uso de relaciones.En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información.
  • Modelado de Objetos:
Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

Componentes ORM
  1. Qué es el mapeo relacional.
Informa brevemente sobre lo que es ORM y cómo funciona. ORM es una capacidad de programación para convertir los datos de tipo de objeto de tipo relacional y viceversa.
  1. Qué es el Mapa objeto-relacional.
Es la clase que contendrá los atributos de nuestro programa, tambien nuestros accesadores y mutadores (Setters y Getters) y nuestro Constructor. Esta tendrá los valores de nuestra base de datos.

Enlaces

JPA (Java Persistence API)
JPA (arquitectura)
JPA
JPA2
Como se utiliza?
Modelado Relacional
Modelado de Objetos
Componentes ORM 

No hay comentarios:

Publicar un comentario

HTML

HTML Sigla en inglés de  HyperText Markup Language  (lenguaje de marcas de hipertexto), hace referencia al  lenguaje de marcado  para l...