Mapeo Objeto – Relacional JPA – Java Persistence Api

Slides:



Advertisements
Presentaciones similares
Fundamentos de Base de Datos
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Las aplicaciones requieren datos persistentes
Diseño de Bases de Datos
Introducción a HIBERNATE
Rocío Contreras Águila Primer Semestre 2010
Guillermo A. Díaz Sanhueza
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
¿QUÉ SON LAS BASES DE DATOS?
Curso de Diseño y Construcción de Productos de Software CLASE 2
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Ms access Microsoft Access es un sistema gestor de bases de datos relacionales (SGBD). base de datos suele definirse como un conjunto de información.
Modelo Entidad Relación E-R
Teoría de Bases de Datos
JAVA Persistence API (JPA)
DIAGRAMA DE CLASE.
Sindy Carolina Asprilla
y programa de Microsoft Access
UNIDAD I Conceptos Básicos.
SQL Básico Prof. Nelliud D. Torres.
MÓDULO II: FUNDAMENTOS DE BASE DE DATOS
BASE DE DATOS I Clase # 1.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
DISEÑO Genera soluciones a requerimientos planteados
BASES DE DATOS MULTIDIMNSIONALES ING. A NDRÉS V ARGAS L ONDOÑO UNICIENCIA. EDU. CO Corporación Universitaria de Ciencia y Desarrollo.
Diseño de una base de datos Zavaleta Nolasco Karina
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
ORGANIZACIÓN DE LOS DATOS PARA PROCESARLOS EN COMPUTADORA Las computadoras trabajan con datos. Aceptan y procesan datos, y comunican resultados. No pueden.
Ing. JUAN CARLOS GARCIA DUARTE
Introducción a las Bases de Datos Relacionales Juan Alberto Sigüenza Escuela Técnica Superior de Informática Universidad Autónoma de Madrid.
Ejemplo 1: Base de Datos Secretaría de Tránsito
Frameworks de Persistencia Java Prof. Ing. Esteban Ramírez
Elaborado por: GCRM Institución Gabriel García Márquez.
DISEÑO DE BASES DE DATOS
DISEÑO Genera soluciones a requerimientos planteados Describe las especificaciones del sistema propuesto Define CÓMO lo va a hacer el nuevo Sistema Define.
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
PASO DEL ESQUEMA E-R AL MODELO RELACIONAL
Modelo Entidad Relación
TEMA 9: DIAGRAMA DE CLASE EN UML
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez Persistencia Java.
INTERFAS DE ACCES DISEÑO DE UNA BASE DE DATOS NOMBRE: OLIVARES MORALES ROGELIO DANIEL BAUTISTA CRUZ GRUPO: 307 EQUIPO: 05.
Lenguaje Estructurado de Consulta
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
BASES DE DATOS RELACIONALES
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
PRESENTADO POR: GUSTAVO VASQUEZ JEISON MORENO JHON FREDY PENAGOS.
INSTRUCCIONES Elaboración de la Presentación:
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Bases de Datos Unidad 1.
Bases de Datos Modelo Relacional.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Acceso a Datos Erick López Ovando Licenciado en Informática.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
UNIVERSIDAD LATINA II.- CONSTRUCCIÓN DE LA BASE DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
Introducción a la Base de Datos Profesora: Nelwi Báez.
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
BASE DE DATOS DISTRIBUIDAS Objetivo
Fundamentos de Ingeniería de Software
Base de Datos I – Ing. Mary Carlota Bernal J.
Diccionario/Directorio de Datos
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
¿Qué es una base de datos? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
Fundamentos de Bases de Datos
Transcripción de la presentación:

Mapeo Objeto – Relacional JPA – Java Persistence Api

Agenda Mapeo Objeto relacional Persistencia Entidades Principales anotaciones para mapear entidades Anotaciones para definir las relaciones entre las entidades Caso de estudio

Object-Relational Mapping (Mapeo Objeto Relacional) Es una técnica en la que se las tablas, columnas y relaciones de una base de datos se convierten a clases, atributos y tipos de datos de un lenguaje de programación orientado a objetos, creando una base de datos virtual.

Object-Relational Mapping (Mapeo Objeto Relacional) Esto nos permiten trabajar con objetos, en vez de tablas y columnas, donde un registro en una tabla se representa por una instancia de la entidad. Este mapeo permite generar automáticamente el código SQL necesario para consultar y actualizar la base de datos.

Object-Relational Mapping (Mapeo Objeto Relacional) Mayor independencia entre la aplicación y el motor de la Base de Datos. Facilita el manejar tipos de datos del lenguaje de programación y la Base de Datos.

Persistencia La persistencia permite al programador almacenar, transferir y recuperar información entre los objetos y las Bases de Datos, según el mapeo creado. Utiliza un motor que busca solucionar la diferencia entre los modelos de manipulación de datos del Lenguaje de Programación y el manejador de Base de Datos. Por ejem. Hibernate.

Java Persistence API (API de Persistencia De Java) Provee el mapeo entre el mundo de objetos / relacional para los desarrolladores Java; sirve para manejar datos relacionales en aplicaciones Java. Se divide en tres áreas: El Api de persistencia de Java El JPQL: lenguaje de consulta Objeto / Relacional metadata de mapeo.

Entidades Es un objeto de dominio que tiene persistencia en la base de datos. Típicamente una Entidad representa una tabla; cada instancia de la entidad corresponde a un registro en la tabla. Es representada por medio de campos de persistencia o por propiedades de persistencia. Estos campos o propiedades usan anotaciones para representar las entidades o relaciones entre entidades, con los datos relacionales en la base de datos.

Anotaciones de definición de Entidades Anotación Clase Explicación @Entity javax.persistence.Entity Define una clase como entidad. @Table javax.persistence.Table Define la tabla que va a ser mapeada.

Anotaciones de definición de Datos de Entidades Anotación Clase Explicación @Id javax.persistence.Id Denota el campo que será el identificador único para la entidad. @Column javax.persistence.Column Define el mapeo entre una columna de la tabla con un atributo o propiedad de la entidad. @NotNull org.hibernate.validator.NotNull Denota que un campo debe ser obligatorio. @Temporal javax.persistence.Temporal Especifica el tipo del atributo como un java.util.Date o java.util.Calendar, se utiliza para definir un campo como fecha corta, o tipo Time. @Transient javax.persistence.Transient Marca un campo o propiedad como no persistente. @Embedded javax.persistence.Embedded Especifica que un campo de persistencia de una entidad o una propiedad es una clase embebida. @Embeddable javax.persistence.Embeddable Define una clase como embebida, es decir, se puede utilizar como atributo de otra entidad.

Anotaciones de definición de relaciones entre Entidades @ManyToOne: Define la relación de Muchos a Uno. Múltiples instancias de una entidad se relacionan con una instancia simple de otra entidad. Usa: javax.persistence.ManyToOne. @ManyToMany: Establece la relación de Muchos a Muchos. Las instancias de la entidad pueden estar relacionadas con varias instancias de otra entidad. Usa: javax.persistence.ManyToMany.

Anotaciones de definición de relaciones entre Entidades @OneToOne: Define la relación de Uno a Uno. Cada entidad se relaciona con una sola instancia de la otra entidad. Usa: javax.persistence.OneToOne. @OneToMany: Define la relación de Uno a Muchos. Una entidad está relacionada con múltiples instancias de otra entidad. Usa: javax.persistence.OneToMany.

Anotaciones de definición de relaciones entre Entidades @JoinColumn: Denota el nombre de la columna de la tabla a la cual es mapeada la entidad, y con la cual se establece la relación. Usa: javax.persistence.JoinColumn. @JoinColumns: Define el mapeo de la columna con la entidad por medio de llaves compuestas. Usa: javax.persistence.JoinColumns.

Tipos de Cargas de Entidades LAZY: esto quiere decir que no realiza la consulta del atributo relacionado, cuando se instancia la entidad sino cuando se hace el llamado al método get correspondiente al atributo. EAGER: Al instanciar la entidad inmediatamente se realiza la consulta del atributo relacionado.

Mapeo de Entidad con llave compuesta Cuando se necesita mapear una tabla en la cual su llave principal son dos o mas atributos es necesario crear otra clase con estos atributos. En la clase de llave compuesta se utiliza la anotación @Embeddable. En la entidad se crea como atributo una instancia de la clase anterior y se debe colocar la anotación: @EmbeddedId.

Pasos para mapear una Tabla Ubicar el directorio correspondiente donde se guardará la entidad teniendo en cuanta la convención de definición de paquetes. Los nombres de las clases deben iniciar siempre en mayúscula, deben ser simples y descriptivos. Los nombres de las clases de Entidad deben ser sustantivos en singular.

Pasos para mapear una Tabla Posicionar encima de la definición de la Clase, las anotaciones de Entidad como: @Entity, @Table.

Caso de Estudio Se requiere elaborar una aplicación para llevar el registro y control de los elementos y materiales de laboratorio que se le prestan a los estudiantes o docentes, estos elementos pueden ser fuentes de poder, voltímetros y diferentes dispositivos electrónicos. Un auxiliar es el encargado de prestar los elementos y registrar los datos de salida y entrada de los elementos, tambien se requiere llevar el controlo de las materias en las cuales se utiliza el elemento.

Caso de estudio – Diagrama Entidad Relación 1 facultad id Nombre equipo id modelo fecha_ingreso descripcion marca serie id_estado Disponible Id_tipo_equipo 1 usuario Id_usuario nombre apellido id_rol password 1 1 N Tipo_equipo id nombre 1 N N facultad_usuario Id_facultad Id_usuario N 1 1 rol id nombre 1 N N N Historico_prestamo Id tag_equipo id_usuario fecha_salida Hora_salida fecha_entrada Hora_entrada id_salon id_estadorecibido Observaciones id_materia Id_usuario_auxiliar N 1 1 N estado id nombre 1 N N Materia id Nombre Id_facultad salon id nombre N 1

Conexión a la Base de datos Host: sandbox2.ufps.edu.co Usuario: userJee6 Password: userJee6

Gracias por su atención M.Sc. FREDY H. VERA R freve9@gmail.com Cúcuta - 2013