SlideShare una empresa de Scribd logo
1 de 51
Lo hemos logrado. Qué sigue? Ya hemos desarrollado una aplicación web con JAVA EE, utilizando Derby como base de datos, esta misma aplicación puede desarrollarse de diferentes maneras, las cuales no sólo resultan más eficientes sino más seguras
Alternativas ,[object Object]
Java Server Faces CRUD
Spring MVC 2.5
Java Persistence ,[object Object]
El lenguaje de consultas de Persistence
Los metadatos para los objetos y sus relaciones
Java Persistence: Definiciones ,[object Object]
Las instancias de una entidad corresponden a filas dentro de la tabla
Generalmente las entidades se relacionan con otras entidades, estas relaciones se expresan mediante los metadatos
Los metadatos de las relaciones que se dan entre los objetos se pueden definir en un archivo XML o empleando anotaciones en el archivo de cada clase
Java Persistence: Definiciones ,[object Object]
POJO : Plain Old Java Object -> clases que no extienden a ninguna otra: MyDb.java  es  POJO, NewPostServlet  no es  POJO
Qué es Persistencia? ,[object Object]
Posts: tabla -> entidad ,[object Object]
Ahora que es una entidad cuenta con tres características: ,[object Object]
Identidad: cada instancia de la entidad es única
Soporte Transaccional: las operaciones CRUD (CReate, Update, Delete ) para esta entidad se realizan de forma transaccional
Antes de comenzar a #programar public class post{ ,[object Object]
private String post_title;
private Date post_date;
private String post_body;
//getter & setter methods }
Antes de comenzar a #programar ,[object Object]
set_id
get_title
set_title
Anotaciones (@) ,[object Object],[object Object]
public class posts{ ,[object Object]
private String post_title;
...
Identidad ,[object Object],@Entity public class posts{ @Id private int post_id; private String post_title; private Date post_date; private String post_body; //getter and setter methods }
Convenciones ,[object Object]
Nombre de la clase: MiTabla
Nombre de las columnas: ATTR1, ATTR2, ATTR3
Nombre de los atributos: attr1, attr2, attr3
@ Generando id's automáticamente ,[object Object],... @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private int post_id; ...
EntityManager ,[object Object]
EntityManager: se refiere a una API que ofrece los servicios requeridos para trabajar con una entidad
En J2SE se define un EntityManager de la siguiente manera (explícita): EntityManagerFactory entityManagerFactory =  Persistence.createEntityManagerFactory(“PersistentUnitName”); EntityManager eManager = entityManagerFactory.createEntityManager();
EntityManager ,[object Object],@Resource private EntityManager entityManager;
Persistence Context ,[object Object]
Entidades y Transacciones ,[object Object]
Con las transacciones JTA el programador no debe preocuparse por nada, pero en las transacciones tipo Resource-local las validaciones corren por su cuenta y basado en los resultados de las mismas debe determinar si envía una transacción (commit) o por el contrario la anula (roll-back)
Operaciones sobre Entidades ,[object Object],[object Object]
postObject.set();//definir valores para el objeto
entityManager.persist(postObject);
Operaciones sobre Entidades II ,[object Object]
find() es un método propio de la clase EntityManager y permite recuperar una instancia de una entidad empleando el nombre de la clase y la llave primaria: postEntity elPost =  entityManager.find(postEntity.class, 1); If (elPost != null){ // post object puede o no ser null. // Procesar el objecto }
Operaciones sobre Entidades III ,[object Object],postEntity elPost = entityManager.find(postEntity.class, 1); if (elPost != null){ // post object puede o no ser null. // eliminar el objecto EntityManager.remove(elPost); }
Operaciones sobre Entidades IV ,[object Object],postEntity elPost = entityManager.find(postEntity.class, 1); If (elPost != null){ // post object puede o no ser null. // modificar los atributos del objecto con los metodos set elPost.setTitle("Un nuevo titulo"); EntityManager.merge(elPost); }

Más contenido relacionado

La actualidad más candente

Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
Robert Wolf
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
Robert Wolf
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
Robert Wolf
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
Ronald Cuello
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
jbersosa
 

La actualidad más candente (19)

Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
 
feedback
feedbackfeedback
feedback
 
Hibernate - JPA @luce 5
Hibernate - JPA @luce 5Hibernate - JPA @luce 5
Hibernate - JPA @luce 5
 
Bases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a HibernateBases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a Hibernate
 
Tema 6
Tema 6Tema 6
Tema 6
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Statement
StatementStatement
Statement
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 

Similar a Introducción a Java Persistence API

Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
Gissela Antohane
 
Maria taipe..presentaciones
Maria taipe..presentacionesMaria taipe..presentaciones
Maria taipe..presentaciones
mary taipe
 

Similar a Introducción a Java Persistence API (20)

T3 - JPA
T3 - JPAT3 - JPA
T3 - JPA
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
jsf
jsfjsf
jsf
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
Lab 03 20111429
Lab 03 20111429Lab 03 20111429
Lab 03 20111429
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
Introduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORMIntroduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORM
 
Persistence
PersistencePersistence
Persistence
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
[ES] Manejadores de persistencia
[ES] Manejadores  de persistencia[ES] Manejadores  de persistencia
[ES] Manejadores de persistencia
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
Maria taipe..presentaciones
Maria taipe..presentacionesMaria taipe..presentaciones
Maria taipe..presentaciones
 
Maria taipe..presentaciones
Maria taipe..presentacionesMaria taipe..presentaciones
Maria taipe..presentaciones
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Objeto Statement
Objeto StatementObjeto Statement
Objeto Statement
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
Statement
StatementStatement
Statement
 

Más de Jose Martinez

Bienvenida a-la-segunda-parte-del-eje-3
Bienvenida a-la-segunda-parte-del-eje-3Bienvenida a-la-segunda-parte-del-eje-3
Bienvenida a-la-segunda-parte-del-eje-3
Jose Martinez
 
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXIHacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
Jose Martinez
 
JAVA2: Segunda Lección
JAVA2: Segunda LecciónJAVA2: Segunda Lección
JAVA2: Segunda Lección
Jose Martinez
 

Más de Jose Martinez (9)

Bienvenida a-la-segunda-parte-del-eje-3
Bienvenida a-la-segunda-parte-del-eje-3Bienvenida a-la-segunda-parte-del-eje-3
Bienvenida a-la-segunda-parte-del-eje-3
 
Introducción a los StoryBoard
Introducción a los StoryBoardIntroducción a los StoryBoard
Introducción a los StoryBoard
 
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXIHacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
Hacia un aprendizaje más abierto: Prácticas y Recursos del siglo XXI
 
Presentación Inicial Proyecto Grupo 13
Presentación Inicial Proyecto Grupo 13Presentación Inicial Proyecto Grupo 13
Presentación Inicial Proyecto Grupo 13
 
¿Por qué Relacional?
¿Por qué Relacional?¿Por qué Relacional?
¿Por qué Relacional?
 
#noquieroestaraca
#noquieroestaraca#noquieroestaraca
#noquieroestaraca
 
Hoy para mi: Educación es
Hoy para mi: Educación esHoy para mi: Educación es
Hoy para mi: Educación es
 
My Story With Flickr
My Story With FlickrMy Story With Flickr
My Story With Flickr
 
JAVA2: Segunda Lección
JAVA2: Segunda LecciónJAVA2: Segunda Lección
JAVA2: Segunda Lección
 

Último

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Último (20)

Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 

Introducción a Java Persistence API