SlideShare una empresa de Scribd logo
Aurelio Martín Obando Távara aot@upnorte.edu.pe proyectos iiINTRODUCCIÓN A JEE5
EnalteciendoLos Temas 1 3 2 Entidades Delegados Beans de Sesión
AGENDA API de Persistencia de JavaEntidadesBeans de SesiónDelegadosResumen Clase 02 1
2 CONTENIDO
El API de Persistencia de Java 	brinda facilidad al momento de interactuar con la 	base de datos y hacer el mapeo de objeto/relación 	respecto a un modelo de datos relacional en sus 	aplicaciones.  JPAconsiste en 3 áres 	El API de Persistencia de Java. 	Mapeo de Objetos/Relaciones. 	El lenguaje Consultas.  API de Persistencia de Java
	Una entidad es un objeto del dominio de persistencia, pero mucho mas ligero. Típicamente una entidad representa una tabla de un modelo de datos relacional, en donde cada instancia de la entidad es una fila en dicha tabla.Formalmente y eventualmente llamados “Entity Beans”.Clases listadas en el elemento “<class>”  en el archivo “persistence.xml”.No son persistentes hasta que están asociadas a un EntityManager.em.persist(author); ENTIDADES
Entidades
packagejava.examples.orm.core.annotated; importjavax.persistence.*;  @Entity publicclassBike { privatelong id; privateStringmake; privateStringmodel; privateintsize; publicBike() {} publicBike(long id) { this.id = id; } @Id publiclonggetId() { returnid; 	} privatevoidsetId(long id) { 		this.id = id; 	} publicStringgetMake() { returnmake; 	} publicvoidsetMake(Stringmake) { this.make= make; 	} 	... } Ejemplo de Entidad Anotada : Bike.java
packagejava.examples.orm.core.mapped; publicclassBike { privatelong id; privateStringmake; privateStringmodel; privateintsize; publicBike() {} publicBike(long id) { this.id = id; } publiclonggetId() { return id;     	} privatevoidsetId(long id) {         		this.id = id;     	} publicStringgetMake() { returnmake;     	} publicvoidsetMake(Stringmake) { this.make = make;     	} 	... } Ejemplo de Entidad No-Anotada: Bike.java
Usado para determinar el nombre de la tabla automáticamente BikeclassBiketable 	El nombre de la Tabla puede ser especificado sin tener 	relación con el nombre de la entidad @Table(name=”table_name”) Usado para referenciar a una clase a través de EJB-QL Nombre de la Entidad
Estructura elemental de mapeo
create table CAR ( CAR_ID bigint not null,  CAR_YEAR integer not null,  CAR_MODEL varchar(20) not null,  CAR_MAKE varchar(20) not null,  CAR_COST double,  primary key (CAR_ID) ) Ejemplo de un esquema de BD a mapear
package java.examples.orm.core.annotated; import javax.persistence.*; @Entity @Table(name="CAR") public class Car {         	private long id;     	private String make;     	private String model;     	private int year;     	private double cost; 	public Car() {}     	public Car(long id) { this.id = id; }         	@Id @Column(name="CAR_ID", nullable=false)     	public long getId() {         		return id;     	} 	private void setId(long id) {         		this.id = id;     	} 	… Mapeo a BD usando Anotaciones
@Column(name="CAR_MAKE",  		unique=false,  nullable=false,  insertable=true, 		updatable=true, 		table="",  //nota: podemosapuntar a otratablaparaobtener la propiedad 		length=20)     	public String getMake() {         		return make;     	}     	public void setMake(String make) { this.make = make;     	} @Column(name="CAR_MODEL", nullable=false, length=20)     	public String getModel() {         		return model;     	}     	public void setModel(String model) { this.model = model;     	} 	… Mapeo a BD usando Anotaciones
@Column(name="CAR_YEAR", nullable=false)     	public intgetYear() {         		return year;     	}     	public void setYear(int year) { this.year = year;     	} @Column(name="CAR_COST", scale=7, precision=2)     	public double getCost() {         		return cost;     	}     	public void setCost(double cost) { this.cost = cost;     	} 	... } Mapeo a BD usando Anotaciones
	Toda entidad debe tener una llave primariaLlaves primarias deben ser únicasPuede mapearse a una (llave primaria simple) o más (llave primaria compuesta) propiedades Las propiedades deben ser de tipo- tipos primitivos Java (incluido: Integer, Long, etc.)- java.lang.String- Clases de tipo llave primaria (compuesta de tipos de propiedades adecuados) LAVES PRIMARIAS SIMPLES
public interface javax.persistence.GeneratedValue { javax.persistence.GenerationType strategy();     String generator(); } public final class javax.persistence.GenerationType extends java.lang.Enum{     public static final GenerationType TABLE;     public static final GenerationType SEQUENCE;     public static final GenerationType IDENTITY;     public static final GenerationType AUTO; } Llaves Primarias generadas
Tipo de Generación IDENTITY
Transient- Le dice al proveedor de persistencia que ignore este campo/propiedadFetchType- Le dice a la persistencia el modo de carga de las relaciones de una objetoTemporal- Especifica detalle para el mapeo de propiedades tipo Date y CalendarLob- Mapea tipos BLOB y CLOBEnumerated- Mapea tipo Enumerado Java SE 5 REFINAMIENTO DE MAPEO
Uso de Transient
Ejemplo de Lob
package java.examples.orm.core.annotated; import java.io.Serializable; import javax.persistence.*; @Entity @Table(name=“UMBRELLA") public class Umbrella implements Serializable {     	private static final long serialVersionUID = 1L;     	private long id;     	private String make;     	private String model;     	public Umbrella() { }     	public Umbrella(long id)         { this.id = id; }     	@Id     	public long getId()              { return id; }     	private void setId(long id)      { this.id = id; } @Lob     	@Basic(fetch=FetchType.LAZY)     	public char[] getMake()          { return make.toCharArray(); }     	public void setMake(char[] make) { this.make = new String(make);  } Ejemplo de Lob
Tipo Temporal y Enum
package java.examples.orm.core.annotated; import java.io.Serializable; import java.util.Date; import javax.persistence.*; Import java.examples.orm.core.ColorType; @Entity @Table(name="VASE") public class Vase implements Serializable {     	private static final long serialVersionUID = 1L;     	private long id;     	private Date aDate;     	private Date aTime;     	private Date aTimestamp;     	private ColorTypecolorId;     	private ColorTypecolorName;     	public Vase() {}     	public Vase(long id) { this.id = id; } 	… Ejemplo con tipo Temporal y Enum
 @Temporal(TemporalType.DATE) public Date getADate() { 	return aDate; } public void setADate(Date date) { aDate = date; } @Temporal(TemporalType.TIME) public Date getATime() { 	return aTime; } public void setATime(Date time) { aTime = time; } @Temporal(TemporalType.TIMESTAMP) public Date getATimestamp() { 	return aTimestamp; } public void setATimestamp(Date timestamp) { aTimestamp = timestamp; } ... Usando Temporal Metadata
@Enumerated(EnumType.ORDINAL) public ColorTypegetColorId() { 	return colorId; } public void setColorId(ColorTypecolorId) { this.colorId = colorId; } @Enumerated(EnumType.STRING) public ColorTypegetColorName() { 	return colorName; } public void setColorName(ColorTypecolorName) { this.colorName = colorName; }     @Id public long getId() { 	return id; } private void setId(long id) { 	this.id = id; } //final of class } Usando Temporal Metadata
	Maneja el mapeo de O/R de las entidades a la base de datos.Provee API’s- Insertando objetos en la base de datos- Obteniendo objetos de la base de datos- Sincronizando objetos con la base de datos- Consultando de la base de datosProvee acceso en cachéSe coordina con servicios transaccionales del servidor (JTA) javax.persistence.EntityManager
	Es un juego de instancias de entidades administradas por un Entity ManagerTodas las entidades se vuelven “detached” una vez que han sido cerradas o eliminadasExisten 2 tipos- Contextos de Persistencia de alcance-transaccional	>> inicio/fin en los limites de la transacción- Contextos de Persistencia extendidos	>> vive mas que una transacción simple	>> permite interacciones más duraderas con la base de datos CONTEXTO DE PERSISTENCIA
Ejemplo de Contexto de Persistencia
	Es un juego de clases que están mapeadas a la base de datosDefinido en META-INF/persistence.xml Debe tener un identificador (name=“”)Las Clases - Pueden ser nombradas en el archivo “persistence.xml”- Pueden ser automáticamente escaneadas del proyecto UNIDAD DE PERSISTENCIA
	Son componentes que permiten interactuar con la base de datos y que residen en el servidor.A través del entity manager estos componentes pueden realizar operaciones de actualización sobre la base de datos.Debe tenerse en cuenta el tipo de transacción que está usando el contexto de presistencia para asegurar la coherencia de los datos. BEANS DE SESIÓN
persist()
find()
getReference()
createQuery()
merge()
remove()
refresh() y contains()
clear() y flush()
	Son componentes que actúan como proxies aplicando las reglas del negocio al delegar las tareas a los beans de sesión correspondientes.Es necesario realizar una serie de pasos para garantizar una conexión segura entre este componente y los beans de sesión. DELEGADOS
Paso 1 Crear una clase con un nombre que cumpla con la siguiente nomenclatura:           “NombreEntidad”+Delegate Crear una propiedad del tipo de bean de sesión que nos permita trabajar con la entidad correspondiente.
Paso 2 Hacer clic derecho sobre cualquier parte de la clase y seleccionar la opción “Insert Code…”. De preferencia, hacerlo dentro del cuerpo de la clase.
Paso 3 En el menú emergente que aparece, seleccionar la opción “Call Enterprise Bean”.
Paso 4 Aparecerá una ventana como la siguiente, en la cual buscaremos el bean de sesión con el cual queremos que nuestro Delegado tenga conexión. Luego de eso, sin modificar el campo “Reference Name”, hacemos clic en “OK”.
Paso 5 Luego de cumplir el paso 4, automáticamente aparecerá este segmento de código. La función de este método es crear una conexión limpia entre el delegado y el servidor para obtener una instancia del bean de sesión. Es importante que este método se genere cumpliendo estos pasos. Sin embargo, esta tarea sólo se realiza una vez por proyecto web. Sí y solo si ya se ha generado por primera vez,  se puede copiar de una clase a otra.
Paso 6 Ahora debemos crear un constructor que no reciba parámetros, pero que en el cuerpo se inicialice la variable “local” haciendo un llamado al método que se generó en el paso anterior. Tal como su muestra en la siguiente imagen. Es imprescindible que se realice este paso, ya que de no hacerlo la variable “local” siempre será null.
Paso 7 El paso 5 tiene repercusión en el archivo web.xml. Como sabemos, este archivo describe los parámetros de despliegue y la configuración de la aplicación en el servidor. Por tal motivo, en la pestaña “Referencias” encontraremos nuestra referencia hacia el bean de sesión seleccionado.
Paso 8 Podemos revisar el archivo web.xml en formato XML para darnos cuenta que los valores coinciden con nuestro método lookupPersonaFacade().
Paso 9 Sólo para demostrar un ejemplo de lo que puede hacer un Delegado, crearemos un método público crear que reciba como un parámetro a una persona. Este método es susceptible a lanzar excepciones cuando hay un error en la comunicación con la base de datos o cuando incumple la regla: “DNI es único por persona”. Nótese que toda interacción con la base de datos el método delega la tarea al bean de sesión correspondiente.
3 Resumen
WAR Interfaces de Usuario Componentes GUI Personalizados EAR EJB WAR Richfaces 3.x My Faces 1.7 Java Mail Archivos de Configuración Controladores Delegados utilitarios Entidades del Negocio SessionBeans Seguridad RESUMEN ,[object Object]
Esta clase sólo ha tocado 3 capas de las 5 propuestas. ¿Cuales son estas 3 capas?,[object Object]
Encuentra esta presentación en el AULA VIRTUAL 					O tambiénpuedesencontrarla en                              .  Saludos!

Más contenido relacionado

La actualidad más candente

Unidad 1 introduccion
Unidad 1 introduccionUnidad 1 introduccion
Unidad 1 introduccion
Katyya20
 
feedback
feedbackfeedback
feedback
Amarilis Zurita
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
universidad jose antonio paez
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
jorg_marq
 
Java certificacion
Java certificacionJava certificacion
Java certificacion
Alex Herrera
 
Poo 1
Poo 1Poo 1
Capítulo 04 objetos fijos
Capítulo 04 objetos fijosCapítulo 04 objetos fijos
Capítulo 04 objetos fijos
Sergio Valenzuela Mayer
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
José M. Padilla
 
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
.NET UY Meetup
 
Capítulo 09 construcción de objetos
Capítulo 09 construcción de objetosCapítulo 09 construcción de objetos
Capítulo 09 construcción de objetos
Sergio Valenzuela Mayer
 
Traduccion capitulo 9 (completo)
Traduccion capitulo 9 (completo)Traduccion capitulo 9 (completo)
Traduccion capitulo 9 (completo)
Katthy Gabriela Garcés
 
Programa Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viverosPrograma Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viveros
jubacalo
 
Api java
Api javaApi java
Api java
erick68
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a Objetos
William Diaz S
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
flaquita_dany
 
Introduccion java
Introduccion javaIntroduccion java
Manual de Java
Manual de JavaManual de Java
Manual de Java
Jesús Navarro
 
2.android java
2.android   java2.android   java
2.android java
guidotic
 
05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos
Danae Aguilar Guzmán
 

La actualidad más candente (20)

Unidad 1 introduccion
Unidad 1 introduccionUnidad 1 introduccion
Unidad 1 introduccion
 
feedback
feedbackfeedback
feedback
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
 
Java certificacion
Java certificacionJava certificacion
Java certificacion
 
Poo 1
Poo 1Poo 1
Poo 1
 
Capítulo 04 objetos fijos
Capítulo 04 objetos fijosCapítulo 04 objetos fijos
Capítulo 04 objetos fijos
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
.NET UY Meetup 6 - Integrando con C/C++ por medio de P/Invoke by Juan Ramirez
 
Capítulo 09 construcción de objetos
Capítulo 09 construcción de objetosCapítulo 09 construcción de objetos
Capítulo 09 construcción de objetos
 
Traduccion capitulo 9 (completo)
Traduccion capitulo 9 (completo)Traduccion capitulo 9 (completo)
Traduccion capitulo 9 (completo)
 
Programa Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viverosPrograma Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viveros
 
Api java
Api javaApi java
Api java
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a Objetos
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
 
2.android java
2.android   java2.android   java
2.android java
 
05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos05. Creando e implementando objetos y métodos
05. Creando e implementando objetos y métodos
 

Destacado

Informatica enfermeria 3_ro
Informatica enfermeria 3_roInformatica enfermeria 3_ro
Informatica enfermeria 3_ro
karlacarriongia
 
2014 countdowntochristmasofficialrules
2014 countdowntochristmasofficialrules2014 countdowntochristmasofficialrules
2014 countdowntochristmasofficialrules
InfiniteSweeps
 
3d game engine
3d game engine3d game engine
3d game engine
luisfvazquez1
 
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MSDesign of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
saheli halder
 
Animal powerpoint
Animal powerpointAnimal powerpoint
Animal powerpoint
jrose101
 
Tabla de topologias
Tabla de topologiasTabla de topologias
Tabla de topologias
Milan Martines
 
Projeto Copa do Mundo
Projeto Copa do MundoProjeto Copa do Mundo
Projeto Copa do Mundo
Terezinha F V Fernandes
 
My sample p pt
My sample p ptMy sample p pt
My sample p pt
500sam
 
Day 4 Recap at #CannesLions 2013 / #OgilvyCannes
Day 4 Recap at #CannesLions 2013 / #OgilvyCannesDay 4 Recap at #CannesLions 2013 / #OgilvyCannes
Day 4 Recap at #CannesLions 2013 / #OgilvyCannes
Ogilvy
 
Firefox 4 et autres projets Mozilla
Firefox 4 et autres projets MozillaFirefox 4 et autres projets Mozilla
Firefox 4 et autres projets Mozilla
Florian Lainez
 
為什麼加入發現婚禮
為什麼加入發現婚禮為什麼加入發現婚禮
為什麼加入發現婚禮Ray Wei
 
Doctors with a Heart Day
Doctors with a Heart DayDoctors with a Heart Day
Doctors with a Heart Day
Senechal Family Chiropractic, PC
 
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀNDỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
Trần Tuyền
 
"EL Banco Trujillo"
"EL Banco Trujillo""EL Banco Trujillo"
"EL Banco Trujillo"
lpuertav
 
De startup a empresa. El País
De startup a empresa. El PaísDe startup a empresa. El País
De startup a empresa. El País
Deusto Business School
 

Destacado (18)

Erwtiseis1
Erwtiseis1Erwtiseis1
Erwtiseis1
 
Informatica enfermeria 3_ro
Informatica enfermeria 3_roInformatica enfermeria 3_ro
Informatica enfermeria 3_ro
 
2014 countdowntochristmasofficialrules
2014 countdowntochristmasofficialrules2014 countdowntochristmasofficialrules
2014 countdowntochristmasofficialrules
 
3d game engine
3d game engine3d game engine
3d game engine
 
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MSDesign of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
 
Fórmula de eluer (1)
Fórmula de eluer (1)Fórmula de eluer (1)
Fórmula de eluer (1)
 
Animal powerpoint
Animal powerpointAnimal powerpoint
Animal powerpoint
 
Tabla de topologias
Tabla de topologiasTabla de topologias
Tabla de topologias
 
Projeto Copa do Mundo
Projeto Copa do MundoProjeto Copa do Mundo
Projeto Copa do Mundo
 
My sample p pt
My sample p ptMy sample p pt
My sample p pt
 
Day 4 Recap at #CannesLions 2013 / #OgilvyCannes
Day 4 Recap at #CannesLions 2013 / #OgilvyCannesDay 4 Recap at #CannesLions 2013 / #OgilvyCannes
Day 4 Recap at #CannesLions 2013 / #OgilvyCannes
 
Firefox 4 et autres projets Mozilla
Firefox 4 et autres projets MozillaFirefox 4 et autres projets Mozilla
Firefox 4 et autres projets Mozilla
 
為什麼加入發現婚禮
為什麼加入發現婚禮為什麼加入發現婚禮
為什麼加入發現婚禮
 
Pagina 23
Pagina 23Pagina 23
Pagina 23
 
Doctors with a Heart Day
Doctors with a Heart DayDoctors with a Heart Day
Doctors with a Heart Day
 
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀNDỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
DỰ ÁN GOLD HILL 279 TRIỆU-ĐẤT NỀN SÂN GOLD-QUÝ 3/2012 GIAO NỀN
 
"EL Banco Trujillo"
"EL Banco Trujillo""EL Banco Trujillo"
"EL Banco Trujillo"
 
De startup a empresa. El País
De startup a empresa. El PaísDe startup a empresa. El País
De startup a empresa. El País
 

Similar a P2C2 Introducción a JEE5

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
Carlos Hernando
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
riqsiq
 
Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0
Pablo Andres Cáceres Ferreira
 
Persistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPAPersistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPA
JosngelViedmaMartnez
 
[ES] Manejadores de persistencia
[ES] Manejadores  de persistencia[ES] Manejadores  de persistencia
[ES] Manejadores de persistencia
Eudris Cabrera
 
Introducción a Java Persistence API
Introducción a Java Persistence APIIntroducción a Java Persistence API
Introducción a Java Persistence API
Jose Martinez
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
Videoconferencias UTPL
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDREPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
Sandra Campos
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
jalzate
 
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
Carlos Hernando
 
Lenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetosLenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetos
Luis Fernando Aguas Bucheli
 
P1C5 Lenguaje de Expresiones
P1C5 Lenguaje de ExpresionesP1C5 Lenguaje de Expresiones
P1C5 Lenguaje de Expresiones
Aurelio Martín Obando Távara
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
GregorioSnchez7
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
Jorge Ercoli
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
Jose Juan R. Zuñiga
 
Java
JavaJava
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
Cesar Eduardo Suarez T
 

Similar a P2C2 Introducción a JEE5 (20)

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
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0
 
Persistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPAPersistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPA
 
[ES] Manejadores de persistencia
[ES] Manejadores  de persistencia[ES] Manejadores  de persistencia
[ES] Manejadores de persistencia
 
Introducción a Java Persistence API
Introducción a Java Persistence APIIntroducción a Java Persistence API
Introducción a Java Persistence API
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDREPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
 
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
 
Lenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetosLenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetos
 
P1C5 Lenguaje de Expresiones
P1C5 Lenguaje de ExpresionesP1C5 Lenguaje de Expresiones
P1C5 Lenguaje de Expresiones
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
Java
JavaJava
Java
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 

Más de Aurelio Martín Obando Távara

Configuracion del Entorno
Configuracion del EntornoConfiguracion del Entorno
Configuracion del Entorno
Aurelio Martín Obando Távara
 
Descripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunesDescripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunes
Aurelio Martín Obando Távara
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
Aurelio Martín Obando Távara
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1
Aurelio Martín Obando Távara
 
P1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalleP1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalle
Aurelio Martín Obando Távara
 
Etiquetas JavaServer Faces
Etiquetas JavaServer FacesEtiquetas JavaServer Faces
Etiquetas JavaServer Faces
Aurelio Martín Obando Távara
 
Datatable Y Column
Datatable Y ColumnDatatable Y Column
Datatable Y Column
Aurelio Martín Obando Távara
 
P1C3 Anotaciones
P1C3 AnotacionesP1C3 Anotaciones
P1C2 Navegación y Parámetros
P1C2 Navegación y ParámetrosP1C2 Navegación y Parámetros
P1C2 Navegación y Parámetros
Aurelio Martín Obando Távara
 
P2C1 - Configuración del Entorno
P2C1 - Configuración del EntornoP2C1 - Configuración del Entorno
P2C1 - Configuración del Entorno
Aurelio Martín Obando Távara
 
P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0
Aurelio Martín Obando Távara
 

Más de Aurelio Martín Obando Távara (12)

Configuracion del Entorno
Configuracion del EntornoConfiguracion del Entorno
Configuracion del Entorno
 
Descripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunesDescripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunes
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1
 
P1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalleP1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalle
 
Etiquetas JavaServer Faces
Etiquetas JavaServer FacesEtiquetas JavaServer Faces
Etiquetas JavaServer Faces
 
Datatable Y Column
Datatable Y ColumnDatatable Y Column
Datatable Y Column
 
P1C3 Anotaciones
P1C3 AnotacionesP1C3 Anotaciones
P1C3 Anotaciones
 
P1C2 Navegación y Parámetros
P1C2 Navegación y ParámetrosP1C2 Navegación y Parámetros
P1C2 Navegación y Parámetros
 
P2C1 - Configuración del Entorno
P2C1 - Configuración del EntornoP2C1 - Configuración del Entorno
P2C1 - Configuración del Entorno
 
P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0
 

Último

Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
interfaz de la herramienta geogebra .pptx
interfaz de la herramienta geogebra .pptxinterfaz de la herramienta geogebra .pptx
interfaz de la herramienta geogebra .pptx
victoriaGuamn
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CARMENSnchez854591
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
eleandroth
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
LinoLatella
 
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTREACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ssuserbbe638
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 

Último (20)

Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
interfaz de la herramienta geogebra .pptx
interfaz de la herramienta geogebra .pptxinterfaz de la herramienta geogebra .pptx
interfaz de la herramienta geogebra .pptx
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
 
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTREACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
ACTA-DE-ENTREGA-DE-BOLETAS-DE-NOTAS-PRIMER-TRIMESTRE
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 

P2C2 Introducción a JEE5

  • 1. Aurelio Martín Obando Távara aot@upnorte.edu.pe proyectos iiINTRODUCCIÓN A JEE5
  • 2. EnalteciendoLos Temas 1 3 2 Entidades Delegados Beans de Sesión
  • 3. AGENDA API de Persistencia de JavaEntidadesBeans de SesiónDelegadosResumen Clase 02 1
  • 5. El API de Persistencia de Java brinda facilidad al momento de interactuar con la base de datos y hacer el mapeo de objeto/relación respecto a un modelo de datos relacional en sus aplicaciones. JPAconsiste en 3 áres El API de Persistencia de Java. Mapeo de Objetos/Relaciones. El lenguaje Consultas. API de Persistencia de Java
  • 6. Una entidad es un objeto del dominio de persistencia, pero mucho mas ligero. Típicamente una entidad representa una tabla de un modelo de datos relacional, en donde cada instancia de la entidad es una fila en dicha tabla.Formalmente y eventualmente llamados “Entity Beans”.Clases listadas en el elemento “<class>” en el archivo “persistence.xml”.No son persistentes hasta que están asociadas a un EntityManager.em.persist(author); ENTIDADES
  • 8. packagejava.examples.orm.core.annotated; importjavax.persistence.*; @Entity publicclassBike { privatelong id; privateStringmake; privateStringmodel; privateintsize; publicBike() {} publicBike(long id) { this.id = id; } @Id publiclonggetId() { returnid; } privatevoidsetId(long id) { this.id = id; } publicStringgetMake() { returnmake; } publicvoidsetMake(Stringmake) { this.make= make; } ... } Ejemplo de Entidad Anotada : Bike.java
  • 9. packagejava.examples.orm.core.mapped; publicclassBike { privatelong id; privateStringmake; privateStringmodel; privateintsize; publicBike() {} publicBike(long id) { this.id = id; } publiclonggetId() { return id; } privatevoidsetId(long id) { this.id = id; } publicStringgetMake() { returnmake; } publicvoidsetMake(Stringmake) { this.make = make; } ... } Ejemplo de Entidad No-Anotada: Bike.java
  • 10. Usado para determinar el nombre de la tabla automáticamente BikeclassBiketable El nombre de la Tabla puede ser especificado sin tener relación con el nombre de la entidad @Table(name=”table_name”) Usado para referenciar a una clase a través de EJB-QL Nombre de la Entidad
  • 12. create table CAR ( CAR_ID bigint not null, CAR_YEAR integer not null, CAR_MODEL varchar(20) not null, CAR_MAKE varchar(20) not null, CAR_COST double, primary key (CAR_ID) ) Ejemplo de un esquema de BD a mapear
  • 13. package java.examples.orm.core.annotated; import javax.persistence.*; @Entity @Table(name="CAR") public class Car { private long id; private String make; private String model; private int year; private double cost; public Car() {} public Car(long id) { this.id = id; } @Id @Column(name="CAR_ID", nullable=false) public long getId() { return id; } private void setId(long id) { this.id = id; } … Mapeo a BD usando Anotaciones
  • 14. @Column(name="CAR_MAKE", unique=false, nullable=false, insertable=true, updatable=true, table="", //nota: podemosapuntar a otratablaparaobtener la propiedad length=20) public String getMake() { return make; } public void setMake(String make) { this.make = make; } @Column(name="CAR_MODEL", nullable=false, length=20) public String getModel() { return model; } public void setModel(String model) { this.model = model; } … Mapeo a BD usando Anotaciones
  • 15. @Column(name="CAR_YEAR", nullable=false) public intgetYear() { return year; } public void setYear(int year) { this.year = year; } @Column(name="CAR_COST", scale=7, precision=2) public double getCost() { return cost; } public void setCost(double cost) { this.cost = cost; } ... } Mapeo a BD usando Anotaciones
  • 16. Toda entidad debe tener una llave primariaLlaves primarias deben ser únicasPuede mapearse a una (llave primaria simple) o más (llave primaria compuesta) propiedades Las propiedades deben ser de tipo- tipos primitivos Java (incluido: Integer, Long, etc.)- java.lang.String- Clases de tipo llave primaria (compuesta de tipos de propiedades adecuados) LAVES PRIMARIAS SIMPLES
  • 17. public interface javax.persistence.GeneratedValue { javax.persistence.GenerationType strategy(); String generator(); } public final class javax.persistence.GenerationType extends java.lang.Enum{ public static final GenerationType TABLE; public static final GenerationType SEQUENCE; public static final GenerationType IDENTITY; public static final GenerationType AUTO; } Llaves Primarias generadas
  • 19. Transient- Le dice al proveedor de persistencia que ignore este campo/propiedadFetchType- Le dice a la persistencia el modo de carga de las relaciones de una objetoTemporal- Especifica detalle para el mapeo de propiedades tipo Date y CalendarLob- Mapea tipos BLOB y CLOBEnumerated- Mapea tipo Enumerado Java SE 5 REFINAMIENTO DE MAPEO
  • 22. package java.examples.orm.core.annotated; import java.io.Serializable; import javax.persistence.*; @Entity @Table(name=“UMBRELLA") public class Umbrella implements Serializable { private static final long serialVersionUID = 1L; private long id; private String make; private String model; public Umbrella() { } public Umbrella(long id) { this.id = id; } @Id public long getId() { return id; } private void setId(long id) { this.id = id; } @Lob @Basic(fetch=FetchType.LAZY) public char[] getMake() { return make.toCharArray(); } public void setMake(char[] make) { this.make = new String(make); } Ejemplo de Lob
  • 24. package java.examples.orm.core.annotated; import java.io.Serializable; import java.util.Date; import javax.persistence.*; Import java.examples.orm.core.ColorType; @Entity @Table(name="VASE") public class Vase implements Serializable { private static final long serialVersionUID = 1L; private long id; private Date aDate; private Date aTime; private Date aTimestamp; private ColorTypecolorId; private ColorTypecolorName; public Vase() {} public Vase(long id) { this.id = id; } … Ejemplo con tipo Temporal y Enum
  • 25. @Temporal(TemporalType.DATE) public Date getADate() { return aDate; } public void setADate(Date date) { aDate = date; } @Temporal(TemporalType.TIME) public Date getATime() { return aTime; } public void setATime(Date time) { aTime = time; } @Temporal(TemporalType.TIMESTAMP) public Date getATimestamp() { return aTimestamp; } public void setATimestamp(Date timestamp) { aTimestamp = timestamp; } ... Usando Temporal Metadata
  • 26. @Enumerated(EnumType.ORDINAL) public ColorTypegetColorId() { return colorId; } public void setColorId(ColorTypecolorId) { this.colorId = colorId; } @Enumerated(EnumType.STRING) public ColorTypegetColorName() { return colorName; } public void setColorName(ColorTypecolorName) { this.colorName = colorName; } @Id public long getId() { return id; } private void setId(long id) { this.id = id; } //final of class } Usando Temporal Metadata
  • 27. Maneja el mapeo de O/R de las entidades a la base de datos.Provee API’s- Insertando objetos en la base de datos- Obteniendo objetos de la base de datos- Sincronizando objetos con la base de datos- Consultando de la base de datosProvee acceso en cachéSe coordina con servicios transaccionales del servidor (JTA) javax.persistence.EntityManager
  • 28. Es un juego de instancias de entidades administradas por un Entity ManagerTodas las entidades se vuelven “detached” una vez que han sido cerradas o eliminadasExisten 2 tipos- Contextos de Persistencia de alcance-transaccional >> inicio/fin en los limites de la transacción- Contextos de Persistencia extendidos >> vive mas que una transacción simple >> permite interacciones más duraderas con la base de datos CONTEXTO DE PERSISTENCIA
  • 29. Ejemplo de Contexto de Persistencia
  • 30. Es un juego de clases que están mapeadas a la base de datosDefinido en META-INF/persistence.xml Debe tener un identificador (name=“”)Las Clases - Pueden ser nombradas en el archivo “persistence.xml”- Pueden ser automáticamente escaneadas del proyecto UNIDAD DE PERSISTENCIA
  • 31. Son componentes que permiten interactuar con la base de datos y que residen en el servidor.A través del entity manager estos componentes pueden realizar operaciones de actualización sobre la base de datos.Debe tenerse en cuenta el tipo de transacción que está usando el contexto de presistencia para asegurar la coherencia de los datos. BEANS DE SESIÓN
  • 40. Son componentes que actúan como proxies aplicando las reglas del negocio al delegar las tareas a los beans de sesión correspondientes.Es necesario realizar una serie de pasos para garantizar una conexión segura entre este componente y los beans de sesión. DELEGADOS
  • 41. Paso 1 Crear una clase con un nombre que cumpla con la siguiente nomenclatura: “NombreEntidad”+Delegate Crear una propiedad del tipo de bean de sesión que nos permita trabajar con la entidad correspondiente.
  • 42. Paso 2 Hacer clic derecho sobre cualquier parte de la clase y seleccionar la opción “Insert Code…”. De preferencia, hacerlo dentro del cuerpo de la clase.
  • 43. Paso 3 En el menú emergente que aparece, seleccionar la opción “Call Enterprise Bean”.
  • 44. Paso 4 Aparecerá una ventana como la siguiente, en la cual buscaremos el bean de sesión con el cual queremos que nuestro Delegado tenga conexión. Luego de eso, sin modificar el campo “Reference Name”, hacemos clic en “OK”.
  • 45. Paso 5 Luego de cumplir el paso 4, automáticamente aparecerá este segmento de código. La función de este método es crear una conexión limpia entre el delegado y el servidor para obtener una instancia del bean de sesión. Es importante que este método se genere cumpliendo estos pasos. Sin embargo, esta tarea sólo se realiza una vez por proyecto web. Sí y solo si ya se ha generado por primera vez, se puede copiar de una clase a otra.
  • 46. Paso 6 Ahora debemos crear un constructor que no reciba parámetros, pero que en el cuerpo se inicialice la variable “local” haciendo un llamado al método que se generó en el paso anterior. Tal como su muestra en la siguiente imagen. Es imprescindible que se realice este paso, ya que de no hacerlo la variable “local” siempre será null.
  • 47. Paso 7 El paso 5 tiene repercusión en el archivo web.xml. Como sabemos, este archivo describe los parámetros de despliegue y la configuración de la aplicación en el servidor. Por tal motivo, en la pestaña “Referencias” encontraremos nuestra referencia hacia el bean de sesión seleccionado.
  • 48. Paso 8 Podemos revisar el archivo web.xml en formato XML para darnos cuenta que los valores coinciden con nuestro método lookupPersonaFacade().
  • 49. Paso 9 Sólo para demostrar un ejemplo de lo que puede hacer un Delegado, crearemos un método público crear que reciba como un parámetro a una persona. Este método es susceptible a lanzar excepciones cuando hay un error en la comunicación con la base de datos o cuando incumple la regla: “DNI es único por persona”. Nótese que toda interacción con la base de datos el método delega la tarea al bean de sesión correspondiente.
  • 51.
  • 52.
  • 53. Encuentra esta presentación en el AULA VIRTUAL O tambiénpuedesencontrarla en . Saludos!

Notas del editor

  1. lates.