SlideShare una empresa de Scribd logo
2
Lo más leído
4
Lo más leído
11
Lo más leído
Joan Sebastián Ramírez Pérez
Mapeo Objeto
Relacional
2017
Agenda
❖ ¿Qué es un ORM?
❖ Ventajas
❖ JPA
❖ Spring Data
❖ Bibliografía
¿Qué es un ORM?
❖ ORM es Object Relational Mapping
❖ Modelo de programación que nos permite transformar
las relaciones (tablas de base de datos) en una serie de
entidades (objetos), simplificando el acceso a los datos
persistentes para el programador.
❖ Se aplica a la capa de persistencia de las aplicaciones.
Ventajas
❖ Reduce la cantidad de código, con esto se aumenta la
velocidad de desarrollo
❖ Portabilidad.
❖ Tratar las relaciones como objetos permite hablar en un
solo lenguaje desde la aplicación.
❖ Abstracción de la base de datos usada.
❖ Cumplimiento patrón Domain Model
JPA
❖ Java Persistence API
❖ API de persistencia Java que se desarrollo para el
estándar EJB 3.0.
❖ JPA establece una interface común que es
implementada por un proveedor de persistencia de
nuestra elección (TopLink, EclipseLink, Hibernate, entre
otros).
❖ Provee una especificación genérica para un ORM en
Java EE y Java SE.
Orm
Historia
❖ ORM de otros distribuidores:
❖ iBATIS 2001
❖ Hibernate 2001
❖ JDO (Java Data Object) usando JR 12 en 2002
❖ JPA 1.0: se introduce en mayo 2006 y usa el estándar JSR 220. Java
EE 5.
❖ JPA 2.0: lanzado en diciembre 2009 y trabaja con el estándar JSR
317. Java EE 6.
❖ JPA 2.1: lanzado en abril 2013 y trabaja con el estándar JSR 338.
Java EE 7.
Implementaciones
Vocabulario requerido
POJO
❖ Plain Old Java Object
Anotación
❖ Permite agregar metadatos
(datos descriptivos) al código
fuente.
❖ Para agregarlas se usa @
❖ http://docs.oracle.com/javaee/7
/api/index.html?javax/persisten
ce/package-summary.html
Entidad
❖ Objeto que va a representar
una de las entidades de la
base de datos.
❖ Son simples POJOS que
pueden tener atributos
persistimos y no persistidos.
❖ Tienen que ser serializables.
JPQL
❖ Java Persistence Query
Language
❖ Lenguaje usado para realizar
peticiones a la base de datos.
Named Query
❖ Consultas JPQL
Native Query
❖ Consultas en el lenguaje nativo del motor de base de
datos que es traducido a objetos
Entity Manager
❖ Objeto liviano que nos provee la interface
para la gestión de las entidades.
❖ Una instancia EntityManager está
asociado con un contexto de persistencia.
Un contexto de persistencia es un
conjunto de instancias de entidad en la
que para cada entidad persistente hay una
instancia de entidad única. Dentro del
contexto de persistencia, las instancias de
la entidad y de su ciclo de vida se
gestionan.
❖ La API EntityManager se utiliza para crear
y eliminar instancias persistentes, para
encontrar entidades por su clave primaria,
y para hacer consultas sobre las
entidades.
Entity Manager Factory
❖ Objeto pesado que debe abrirse
y cerrarse en cada inicio de la
aplicación. Uno por aplicación.
❖ Es único y permite gestionar
todas las entidades .Si tenemos
varias conexiones a base de
datos deberemos definir un
nuevo concepto que nos permite
clarificar que tenemos dos
EntityManagerFactories
distintos. Este concepto es el
que se conoce como
PersistenceUnit.
Persistence Unit
❖ Define el conjunto de clases
que serán gestionadas por las
instancias del EntityManager
en una aplicación.
❖ Este conjunto de clases
representa los dates que serán
contenidos en un único
espacio de almacenamiento.
Operaciones CRUD
❖ Crear: entityManager.persist(entity);
❖ Consultar: entityManager.persist.find(entity.class,
value);
❖ Actualizar: entityManager.persist.merge(entity);
❖ Eliminar: entityManager.persist.remove(entity);
Tutorial
❖ http://docs.oracle.com/javaee/6/tutorial/doc/bnbpy.html
Spring Data
❖ Módulo de Spring que a su vez
engloba un gran número de
sub-módulos cuyo objetivo es
facilitar el acceso y explotación
de datos en aplicaciones
basadas en Spring,
obteniéndose estos datos de
fuentes tan dispares como
servicios RestFUL, bases de
datos relacionales a través de
JPA, o bases de datos NoSQL
como MongoDB o Neo4J, entre
otras
Tomado de: http://projects.spring.io/spring-
data/
Tomado de: http://projects.spring.io/spring-
data/
Bibliografía
❖ https://es.slideshare.net/software_alchemy/overview-of-jpa-
java-persistence-api-v20?qid=2eada4a1-c9d0-43f6-a8c6-
b91a9bbba0f8&v=&b=&from_search=3
❖ http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html
❖ https://jcp.org/en/jsr/detail?id=338
❖ https://www.slideshare.net/brmeyer/orm-jpa-hibernate-
overview

Más contenido relacionado

PDF
Crear conexion a servidor en MySQL Workbench
DOCX
Tareas de ingenieria de requerimientos
PDF
Fases de un proyecto de desarrollo de software
PDF
Ingeniería de requisitos e ingeniería de requerimientos
PDF
Creación de tablas y relaciones en mysql workbench
ODT
Especificación de requisitos de software
PPSX
Ieee 830
PDF
MODELO VISTA CONTROLADOR EN PHP
Crear conexion a servidor en MySQL Workbench
Tareas de ingenieria de requerimientos
Fases de un proyecto de desarrollo de software
Ingeniería de requisitos e ingeniería de requerimientos
Creación de tablas y relaciones en mysql workbench
Especificación de requisitos de software
Ieee 830
MODELO VISTA CONTROLADOR EN PHP

La actualidad más candente (20)

PPTX
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
PPTX
Requerimiento funcional y no funcional
PPTX
Diseño de Software
DOCX
Estructura del sistema operativo windows
PPTX
Sistemas Operativos Gestion de procesos
PPT
Gestion de la configuracion del software
PDF
Ads sistema-panaderia-ADS
PPTX
Tecnicas de estimacion de costos de proyecto software
PPTX
SPICE
PDF
Especificacion de requerimientos
PDF
Caso de-uso-1228271248231157-9
PDF
Documentación base de datos
PPTX
Capas de la ingenieria de software
DOCX
Diferencias entre arquitectura y organización
PPTX
Modelo basado en prototipos - Ingeniería de Software
PPTX
Ingenieria de requerimientos
PPTX
Metodología WEB UWE
PDF
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
PPT
Desarrollo de aplicaciones con rup y uml
PPT
Clases 30 05
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
Requerimiento funcional y no funcional
Diseño de Software
Estructura del sistema operativo windows
Sistemas Operativos Gestion de procesos
Gestion de la configuracion del software
Ads sistema-panaderia-ADS
Tecnicas de estimacion de costos de proyecto software
SPICE
Especificacion de requerimientos
Caso de-uso-1228271248231157-9
Documentación base de datos
Capas de la ingenieria de software
Diferencias entre arquitectura y organización
Modelo basado en prototipos - Ingeniería de Software
Ingenieria de requerimientos
Metodología WEB UWE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
Desarrollo de aplicaciones con rup y uml
Clases 30 05
Publicidad

Destacado (6)

PDF
Introducción práctica a JPA2
DOCX
Liderazgo educativo
PPS
JPA - Java Persistence API
ODP
ORM, JPA, & Hibernate Overview
ODP
JPA Best Practices
PPT
Java Persistence API (JPA) Step By Step
Introducción práctica a JPA2
Liderazgo educativo
JPA - Java Persistence API
ORM, JPA, & Hibernate Overview
JPA Best Practices
Java Persistence API (JPA) Step By Step
Publicidad

Similar a Orm (20)

PDF
Persistencia de datos en Java
PPT
PDF
Motor de persistencia nhibernate
DOCX
Java persitence api
PPTX
PD1_7moA_TS3_JavierLogroño.pptx
PDF
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
PDF
POOI- Unidad 1.pdf
DOCX
Entity framework
PDF
Java basico
PDF
Creando una API Rest con Node.js y MongoDB
PDF
Introducción a java EE 7
ODP
Documertar APIs - Meetup.js
PPT
Conceptos de hibernate
PPTX
Introduccion-a-Entity-Framework (1).pptx
PPTX
presentacinorm-150325230016-conversion-gate01.pptx
DOC
Hibernate
PPTX
Introducción a ORMs
PPTX
Mi lenguaje de programación de preferencia
Persistencia de datos en Java
Motor de persistencia nhibernate
Java persitence api
PD1_7moA_TS3_JavierLogroño.pptx
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
POOI- Unidad 1.pdf
Entity framework
Java basico
Creando una API Rest con Node.js y MongoDB
Introducción a java EE 7
Documertar APIs - Meetup.js
Conceptos de hibernate
Introduccion-a-Entity-Framework (1).pptx
presentacinorm-150325230016-conversion-gate01.pptx
Hibernate
Introducción a ORMs
Mi lenguaje de programación de preferencia

Más de Joan Sebastián Ramírez Pérez (20)

PPTX
PPTX
PPTX
Pruebas automaticas
PPTX
La nube. Cloud computting
PPTX
Control de versiones
PDF
Practicas técnicas
PPTX
PPTX
Roles desarrollo del software
PPTX
Refactor y deuda técnica
PPTX
Diagramas comportamiento
PPTX
Pruebas automaticas

Último (8)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
simulacion de teoria de control para maquinas
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
modelos de control para sistemas digitales
PDF
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
PPTX
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
Derechos_de_Autor_y_Creative_Commons.pptx
simulacion de teoria de control para maquinas
Su punto de partida en la IA: Microsoft 365 Copilot Chat
modelos de control para sistemas digitales
DIMENSIONADO DE UNA INSTALACION FOTOVOLTAICA.pdf
sistemas de informacion.................

Orm

  • 1. Joan Sebastián Ramírez Pérez Mapeo Objeto Relacional 2017
  • 2. Agenda ❖ ¿Qué es un ORM? ❖ Ventajas ❖ JPA ❖ Spring Data ❖ Bibliografía
  • 3. ¿Qué es un ORM? ❖ ORM es Object Relational Mapping ❖ Modelo de programación que nos permite transformar las relaciones (tablas de base de datos) en una serie de entidades (objetos), simplificando el acceso a los datos persistentes para el programador. ❖ Se aplica a la capa de persistencia de las aplicaciones.
  • 4. Ventajas ❖ Reduce la cantidad de código, con esto se aumenta la velocidad de desarrollo ❖ Portabilidad. ❖ Tratar las relaciones como objetos permite hablar en un solo lenguaje desde la aplicación. ❖ Abstracción de la base de datos usada. ❖ Cumplimiento patrón Domain Model
  • 5. JPA ❖ Java Persistence API ❖ API de persistencia Java que se desarrollo para el estándar EJB 3.0. ❖ JPA establece una interface común que es implementada por un proveedor de persistencia de nuestra elección (TopLink, EclipseLink, Hibernate, entre otros). ❖ Provee una especificación genérica para un ORM en Java EE y Java SE.
  • 7. Historia ❖ ORM de otros distribuidores: ❖ iBATIS 2001 ❖ Hibernate 2001 ❖ JDO (Java Data Object) usando JR 12 en 2002 ❖ JPA 1.0: se introduce en mayo 2006 y usa el estándar JSR 220. Java EE 5. ❖ JPA 2.0: lanzado en diciembre 2009 y trabaja con el estándar JSR 317. Java EE 6. ❖ JPA 2.1: lanzado en abril 2013 y trabaja con el estándar JSR 338. Java EE 7.
  • 10. POJO ❖ Plain Old Java Object
  • 11. Anotación ❖ Permite agregar metadatos (datos descriptivos) al código fuente. ❖ Para agregarlas se usa @ ❖ http://docs.oracle.com/javaee/7 /api/index.html?javax/persisten ce/package-summary.html
  • 12. Entidad ❖ Objeto que va a representar una de las entidades de la base de datos. ❖ Son simples POJOS que pueden tener atributos persistimos y no persistidos. ❖ Tienen que ser serializables.
  • 13. JPQL ❖ Java Persistence Query Language ❖ Lenguaje usado para realizar peticiones a la base de datos.
  • 15. Native Query ❖ Consultas en el lenguaje nativo del motor de base de datos que es traducido a objetos
  • 16. Entity Manager ❖ Objeto liviano que nos provee la interface para la gestión de las entidades. ❖ Una instancia EntityManager está asociado con un contexto de persistencia. Un contexto de persistencia es un conjunto de instancias de entidad en la que para cada entidad persistente hay una instancia de entidad única. Dentro del contexto de persistencia, las instancias de la entidad y de su ciclo de vida se gestionan. ❖ La API EntityManager se utiliza para crear y eliminar instancias persistentes, para encontrar entidades por su clave primaria, y para hacer consultas sobre las entidades.
  • 17. Entity Manager Factory ❖ Objeto pesado que debe abrirse y cerrarse en cada inicio de la aplicación. Uno por aplicación. ❖ Es único y permite gestionar todas las entidades .Si tenemos varias conexiones a base de datos deberemos definir un nuevo concepto que nos permite clarificar que tenemos dos EntityManagerFactories distintos. Este concepto es el que se conoce como PersistenceUnit.
  • 18. Persistence Unit ❖ Define el conjunto de clases que serán gestionadas por las instancias del EntityManager en una aplicación. ❖ Este conjunto de clases representa los dates que serán contenidos en un único espacio de almacenamiento.
  • 19. Operaciones CRUD ❖ Crear: entityManager.persist(entity); ❖ Consultar: entityManager.persist.find(entity.class, value); ❖ Actualizar: entityManager.persist.merge(entity); ❖ Eliminar: entityManager.persist.remove(entity);
  • 21. Spring Data ❖ Módulo de Spring que a su vez engloba un gran número de sub-módulos cuyo objetivo es facilitar el acceso y explotación de datos en aplicaciones basadas en Spring, obteniéndose estos datos de fuentes tan dispares como servicios RestFUL, bases de datos relacionales a través de JPA, o bases de datos NoSQL como MongoDB o Neo4J, entre otras