Primeros pasos para el mapeo entre modelo O.O y modelo Relacional usando Hibernate en JAVA Introducción a HIBERNATE.

Slides:



Advertisements
Presentaciones similares
Fundamentos de Base de Datos
Advertisements

Introducción a HIBERNATE
JAVA Persistence API (JPA)
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
UOC José Mª Casablanca González. Índice Introducción Objetivos generales y específicos Problema y posibles soluciones Características y definición.
T APESTRY Framework Java para Aplicaciones Web. Q UÉ ES T APESTRY Framework de Java, actualmente en su versión 5 (5.1 estable, 5.2 alpha) Implementa MVC.
Programación II Persistencia en archivos de texto.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
Análisis y Diseño de POO Pedro Javier Encabo Checa Pedro J. Encabo.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
ARKDIA – CAPACITACIÓN powered by
Conceptos generales de base de datos
Herencia Multiple en Java
BASE DE DATOS.
Clases y Objetos.
Administración del tiempo en el desarrollo de sistemas web.
PROGRAMACION ORIENTADA A OBJETOS
¿Qué es una consulta? En bases de datos, una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar,
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Programación Orientada a Eventos
Arquitectura de una Base de Datos
Hibernate y ORM Victor Leonel Orozco.
Introducción a Base de Datos
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
MODELO CLIENTE -SERVIDOR
BASES DE DATOS.
Lenguajes de programación
EL MODELO RELACIONAL Creado por Edgar Codd, 1970:
Agustín J. González ELO-329
Unidad 7: Nivel Interno Algunos Conceptos Importantes
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
DIRECTOR: Ing. José Sancho Autor: Jorge Escobar
Lenguaje y representación técnica
MODELO JACKSON Es un método de programación estructurada, como método de diseño de programas con aplicación a la mayoría de los lenguajes de programación.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Hibernate: Conociendo una herramienta ORM
PROVEEDOR DATA WAREHOUSE TERADATA
ORM (Object Relational Mapping)
Usando StreamReader y StreamWriter
Esp. Pedro Arias Quintero
Consultas SQL.
INTRODUCCIÓN A JAVA.
¿Qué es una Base de Datos? z“Una colección de información que persiste en un período largo de tiempo” zNo son simplemente “archivos de datos”
L.I. Manuel Antonio Cebreros Zazueta
LENGUAJES DE SIMULACIÓN Y SIMULADORES DE
Fundamentos de programación
Universidad Nacional de Colombia - Leguajes de Programación
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Servidor de Reportes basado en Tecnología Java y XML
Generaciones de Bases de Datos
Modelamiento de datos con UML. Modelamiento y diseño de datos con UML Cualquier cosa que vemos a nuestro alrededor Es una plantilla para objetos de similares.
Introducción a las bases de datos (I)
Spring Framework.
ARQUITECTURA DEL PROYECTO. La estructura modelo vista controlador se muestra en la siguiente ilustración : ESTRUCTURA DE PROYECTOS DE MVC.
PROGRAMACIÓN ORIENTADA A OBJETOS ING. HEMERSON VILLACORTA M.
CC Bases de Datos Otoño Clase 9: SQL: Acceso Programático,
CRUD.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Prof. Marcos Heredia.  Primitivos y No Primitivos.
1 PROGRAMACION ORIENTADA A OBJETOS MARIA LAURA ESPIN B. INSTITUTO TECNOLÓGICO SUPERIOR ÁNGEL POLIBIO CHÁVEZ TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE.
Agustín J. González ELO-329
Agustín J. González ELO-329
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Centro de estudios tecnológico industrial y de servicios No 37 López Barragán Alan Daniel 2514 Sub2 1.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Transcripción de la presentación:

Primeros pasos para el mapeo entre modelo O.O y modelo Relacional usando Hibernate en JAVA Introducción a HIBERNATE

ORM Un ORM o Mapeador Objeto-Relacional es un framework que propone una nueva forma de modelar los datos, y que permite solucionar la diferencia que existe entre los paradigmas de la POO (Programación Orientada a Objetos) y el modelo Relacional. El modelo Relacional trata con relaciones y conjuntos por lo cual tiende a ser de carácter matemático, mientras que el modelo de la POO trata con objetos y las asociaciones entre ellos; el problema entre estos dos modelos surge en el momento de querer persistir los objetos de negocio.

ORM Escritura mediante JDBC  abrir una conexión, crear una sentencia en SQL y copiar todos los valores de las propiedades de un objeto en la sentencia, ejecutarla y así almacenar el objeto.  Sencillo para un caso simple.  Complicado si el objeto posee muchas propiedades, o bien se necesita almacenar un objeto que a su vez posee una colección de otros elementos. Se necesita crear mucho más código, además del tedioso trabajo de creación de sentencias SQL. Lectura mediante JDBC  mismo problema que la escritura. Este problema se conoce con el nombre de “Impedancia Objeto-Relacional”  conjunto de dificultades técnicas que surgen cuando una base de datos relacional se usa en conjunto con un programa escrito bajo POO.

ORM Ejemplo de “Impedancia Objeto-Relacional”  Objeto Agenda Telefónica con atributo una colección de objetos de la clase Persona, en la que a cada persona le corresponde su correspondiente atributo “teléfono”.  Al transformar esto a relacional se ocuparía más de una tabla para almacenar la información  varias sentencias sql y mucho código.

ORM ¿Por qué necesitamos un ORM?

ORM Los ORMs (además de mapear)  Permiten reducir susceptiblemente el código necesario para llevar a cabo las operaciones de persistencia y recuperación de objetos  Proporcionan interfases más simples para el manejo de objetos a través de su propio lenguaje de consulta  Proveen al programador de configuraciones que le permiten optimizar los tiempos de respuesta en sus correspondientes aplicaciones ORMs más conocidos  Hibernate  Código libre  Toplink  Oracle  JPA (viene con EJB 3.0 y toma las ideas de Hibernate)  Sun

ORM Una herramienta ORM trata de hacer todas estas operaciones de mapeo pesadas por nosotros. Con una buena ORM, sólo tendremos que definir la forma en la que establecemos la correspondencia entre las clases y las tablas una sola vez (indicando que propiedad se corresponde con que columna, que clase con que tabla, etc.). Después de esto, podremos utilizar los objetos de nuestra aplicación y decirle a nuestra ORM que los haga persistentes, con una instrucción similar a: orm.save(myObject).

Hibernate

Ventajas y Desventajas Ventajas  Facilidad de Programación  Apta para aplicaciones transaccionales sin procesamiento masivo. Desventajas  Disminución de rendimiento.  Gran cantidad de ficheros de configuración.  No apta para aplicaciones de gran manejo de datos

Componentes Configuración de las librerías (.jar) necesarias Archivo de Configuración de Hibernate. Archivos de Mapeo de Clases vs BD Clase Utilitaria de Hibernate Clases de nuestra Aplicación.

Librerías Necesarias Se requieren de ciertos.jar para poder funcionar:

Configuración de Hibernate Es un archivo xml que contiene la configuración principal del hibernate. (hibernate.cfg.xml) Contiene la información de la conexión. Contiene la información de la forma del manejo de la transacción. Entre otros Ver ( ence/en/html/tutorial-firstapp.html#tutorial- firstapp-configuration ) ence/en/html/tutorial-firstapp.html#tutorial- firstapp-configuration

Mapeo de Clases (.hbm.xml)

Clase Utilitaria Mantiene el manejo de la conexión. Mantiene los métodos de búsqueda y actualización genérica.

Hibernate vs JDBC