Está en la página 1de 16

Persistencia de

2 datos con JPA


¿Qué es JPA?

• Java Persistence API es el estándar para persistir objetos Java en las


base de datos relacionales.
• Está compuesto por un componente para mapear las tablas y sus
relaciones a clases Java (ORM) y otro componente para realizar las
operaciones de base de datos.

ORM

Objetos Crear Leer Actualizar Eliminar


Java

3
ORM

El mapeo objeto-relacional es una técnica de programación para convertir


datos entre el sistema de tipos utilizado en un lenguaje de programación
orientado a objetos y la utilización de una base de datos relacional como
motor de persistencia.

4
ORM

5
JPQL

Java Persistence Query Language es un lenguaje de consulta orientado a


objetos.

select * from curso where id_instructor = 52

6
Spring Data JPA

• Es parte del proyecto Spring Data.


• Facilita la implementación de repositorios basados en JPA.
• Mejora significativamente la implementación de capas de acceso a datos
al reducir el esfuerzo a la cantidad que realmente se necesita.

7
Repositorios

• Es una capa de abstracción para el acceso a datos basado en JPA.


• Su objetivo es reducir el código repetitivo para ejecutar consultas simples (CRUD), así
como realizar la paginación y la auditoría.
• Como desarrolladores, podemos crear interfaces y métodos personalizados y Spring
realizará la implementación de estos automáticamente.

List<Curso> findAll();
List<Curso> findAll(Pageable pageable);
Curso save(Curso curso);
void delete(Curso curso);
Optional<Curso> findById(Integer id);

8
Repositorios

where email = ?1 and password = ?2

9
Relaciones

• Uno a uno
• Uno a muchos
• Muchos a uno
• Muchos a muchos

10
Relaciones

• Uno a uno Pedro tiene una relación con


María
• Uno a muchos
• Muchos a uno
• Muchos a muchos

Hermanos

11
Relaciones

• Uno a uno Pedro tiene una relación con


varias mujeres.
• Uno a muchos
• Muchos a uno Y varias mujeres tienen una
relación con Pedro.
• Muchos a muchos

Hermanos

12
Relaciones

• Uno a uno Varias mujeres tienen una


relación con varios hombres
• Uno a muchos
• Muchos a uno
• Muchos a muchos

Hermanos

13
Callbacks del ciclo de vida de una Entidad

Los métodos de devolución de llamada son métodos definidos por el


desarrollador que se adjuntan a los eventos del ciclo de vida de la entidad y
son invocados automáticamente por JPA cuando ocurren estos eventos.

@PrePersist
@PostPersist
@PostLoad
@PreUpdate
@PostUpdate
@PreRemove
@PostRemove

14
Callbacks del ciclo de vida de una Entidad

15
Solo sé que nada sé.

Sócrates

También podría gustarte