Java Persistence API
- 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.
- Como se utiliza la Persistence API?
Un archivo "xml" se encargará de conectarnos a bases de datos, también define el conjunto de entidades que vamos a gestionar.<
persistence
xmlns
=
"http://java.sun.com/xml/ns/persistence"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
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();
}
}
}
- 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
- 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.
- Qué es el Mapa objeto-relacional.
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