SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Contenido
● Introducción
● ORM
● Herramientas
● Hibernate
● Estructura Hibernate
● Aplicación
● Consultas
● Conclusión
Introducción
● La programación Orientada a Objeto en la actualidad se utiliza con
mucha frecuencia dentro de la programación, muchos lenguajes están
diseñados OO, debido a las propiedades que posee.
● Para la mayoría de las aplicaciones, almacenar y recuperar información
implica alguna forma de interacción con una base de datos relacional.
Esto ha representado un problema fundamental para los desarrolladores
porque algunas veces el diseño de datos relacionales y los ejemplares
orientados a objetos comparten estructuras de relaciones muy diferentes
dentro de sus respectivos entornos.
ORM (Mapeo Objeto Relacional)
● Es una técnica de programación para convertir datos entre el sistema de
tipos utilizado en un lenguaje de programación orientado a objetos y la
utilización de una base de datos relacional como motor de persistencia.
● En la práctica esto crea una base de datos orientada a objetos virtual,
sobre la base de datos relacional.
● Esto posibilita el uso de las características propias de la orientación a
objetos (básicamente herencia y polimorfismo).
Herramientas
❖ Postgres
❖ Eclipse
❖ Jboss
❖ Datamodeler
❖ Hibernate
Hibernate
¿Qué es hibernate?
➔ Herramienta para lograr la persistencia de datos.
➔ Es una herramienta para ORM.
➔ Es de software libre.
➔ Archivos Declarativos.
➔ Es una herramienta de Mapeo objeto-relacional para la plataforma Java
Hibernate (2)
Hibernate (3)
Estructura Hibernate
Hibernate utiliza archivos XML para lograr el mapeo.
Se tiene dos tipos de archivos.
● Los tipos de archivos de configuración: Determina todo
aspecto relacionado con la base de datos (conexión,
por ejemplo).
● Los archivos que definirán el mapeo.
Estructura: Clase POJOs
POJO, es una simple clase de Java. Significa: Plain Old Java Object, que
contiene métodos get y set para cada uno de los atributos.
En cada clase, se declaran las entidades de la base de datos con sus
respectivos get y set.
Archivo de Configuración
El archivo de configuración (hibernate.cfg.xml) está constituido principalmente por:
Nombre de la propiedad Uso
hibernate.connection.driver_class JDBC driver class
hibernate.connection.url JDBC URL
hibernate.connection.username Nombre del usuario de la base de datos
hibernate.connection.password Contraseña para acceder a la base de datos.
hibernate.dialect Permite a Hibernate generar SQL optimizado
para una determinada base de datos
relacional.
Archivos de mapeos
Hibernate usa metadatos de mapeo para saber como cargar y almacenar objetos de la
clase persistente.
<hibernate-mapping> : Elemento raíz que contiene todos los elementos de la clase.
<class> Los elementos de esta clase, son usados para definir mapeos de la clase de java
a la tabla de base datos.
<id>: Contener la ID única en la clase para la clave primaria de la base de datos.
Archivos de mapeos
<generator>: Se utiliza para generar valores automáticamente en la clave principal.
<generator class="native"/>
“native”, se utiliza para que hibernate elija cualquier identidad, ya sea secuencia u
otra.
“Assigned”, “sequence”, etc.
<property>: Se usa para asignar una propiedad de clase Java a una columna de la base de datos.
<property name="firstName" column="first_name" type="string"/>
● El atributo name, como siempre hace referencia a la propiedad de la clase.
● El atributo column, se refiere a la columna en la tabla de base datos.
● El atributo type, tiene el tipo de mapeo para hibernate, este tipo de mapeo se convertirá de
Java a un tipo de datos SQL
Archivos de mapeos
Relaciones:
● <many-to-one>
● <one-to-one>
● <one-to-many>
● <many-to-many>
Herencia:
● Tabla por jerarquía de clases.
● Tabla por subclase.
● Tabla por clase concreta.
Modelo Relacional
Aplicación
Consultas Hibernate (1)
Existen 4 métodos:
● HQL
● Criteria API
● SQL nativo
● SQL nombradas
Consultas Hibernate (2)
HQL: Hibernate utiliza un lenguaje de consulta potente (HQL) que se
parece a SQL. Sin embargo, comparado con SQL, HQL es
completamente orientado a objetos y comprende nociones como
herencia, polimorfismo y asociación.
Consultas Hibernate (3)
Criteria API
● Solamente se puede utilizar para realizar consultas.
● Orientada a Objetos
Consultas Hibernate (4)
Consultas Hibernate (5)
SQL nativa: Hibernate permite realizar
consultas casi idénticas a las SQL, a través de
este método puede utilizar las tablas
directamente.
Consultas Hibernate (6)
Sql nombradas: Las consultas SQL nombradas
se pueden definir dentro del espacio de
metadatos (Archivo XML).
Conclusión
● La técnica XML, posee una forma es más legible, pero
a la vez compleja.
● Seleccionar de forma correcta el método de herencia.
● Los métodos de consulta poseen mejores ventajas en
ciertas condiciones necesarias.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Hibernate - JPA @luce 5
Hibernate - JPA @luce 5Hibernate - JPA @luce 5
Hibernate - JPA @luce 5
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 
Manual hibernate v2
Manual hibernate v2Manual hibernate v2
Manual hibernate v2
 
Persistencia de datos
Persistencia de datosPersistencia de datos
Persistencia de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jpa
JpaJpa
Jpa
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Mi lenguaje preferido- SQL
Mi lenguaje preferido- SQLMi lenguaje preferido- SQL
Mi lenguaje preferido- SQL
 
Sql Server
Sql ServerSql Server
Sql Server
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semántica
 
Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Java persitence api
Java persitence apiJava persitence api
Java persitence api
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
Curso Sql - Conceptos
Curso Sql -  ConceptosCurso Sql -  Conceptos
Curso Sql - Conceptos
 

Similar a Orm presentación final

Similar a Orm presentación final (20)

Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con Hibernate
 
DB4O + BIRT
DB4O + BIRTDB4O + BIRT
DB4O + BIRT
 
Persistence
PersistencePersistence
Persistence
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 
Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_software
 
Hibernate
HibernateHibernate
Hibernate
 
Base de datos
Base de datosBase de datos
Base de datos
 
Unidad I
Unidad I Unidad I
Unidad I
 
INSTALACION DE SERVIDORES - JPA
INSTALACION DE SERVIDORES - JPAINSTALACION DE SERVIDORES - JPA
INSTALACION DE SERVIDORES - JPA
 
Bases de datos
Bases de datos Bases de datos
Bases de datos
 
Introducción práctica a JPA2
Introducción práctica a JPA2Introducción práctica a JPA2
Introducción práctica a JPA2
 
Introduccion Jena
Introduccion JenaIntroduccion Jena
Introduccion Jena
 
Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2
 
Modelos
ModelosModelos
Modelos
 
Base de datos alfonzo
Base de datos  alfonzoBase de datos  alfonzo
Base de datos alfonzo
 
Trabajo web semantica
Trabajo web semanticaTrabajo web semantica
Trabajo web semantica
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
 

Más de Helenio Corvacho

Navegación anónima y seguridad
Navegación anónima y seguridadNavegación anónima y seguridad
Navegación anónima y seguridadHelenio Corvacho
 
Redes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesRedes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesHelenio Corvacho
 
Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Helenio Corvacho
 
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Helenio Corvacho
 
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Helenio Corvacho
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf ripHelenio Corvacho
 
Informe lab 5 router bgp final
Informe lab 5 router bgp finalInforme lab 5 router bgp final
Informe lab 5 router bgp finalHelenio Corvacho
 

Más de Helenio Corvacho (20)

Navegación anónima y seguridad
Navegación anónima y seguridadNavegación anónima y seguridad
Navegación anónima y seguridad
 
Redes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesRedes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitales
 
Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3
 
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
 
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
 
Orm final
Orm finalOrm final
Orm final
 
Informe cassandra
Informe cassandraInforme cassandra
Informe cassandra
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Bde
BdeBde
Bde
 
Informe taller 2 revisado
Informe taller 2 revisadoInforme taller 2 revisado
Informe taller 2 revisado
 
Informe routerbgp
Informe routerbgp Informe routerbgp
Informe routerbgp
 
Informe laboratorio 1 kvm
Informe laboratorio 1 kvmInforme laboratorio 1 kvm
Informe laboratorio 1 kvm
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf rip
 
Informe laboratorio 1
Informe laboratorio 1Informe laboratorio 1
Informe laboratorio 1
 
Informe lab 5 router bgp final
Informe lab 5 router bgp finalInforme lab 5 router bgp final
Informe lab 5 router bgp final
 
Guía 4 Cálculo III
Guía 4 Cálculo IIIGuía 4 Cálculo III
Guía 4 Cálculo III
 
Guía 3 Cálculo III
Guía 3 Cálculo IIIGuía 3 Cálculo III
Guía 3 Cálculo III
 
Guía 1 Cálculo III
Guía 1 Cálculo IIIGuía 1 Cálculo III
Guía 1 Cálculo III
 
Guía 2 Cálculo III
Guía 2 Cálculo IIIGuía 2 Cálculo III
Guía 2 Cálculo III
 
Guia 3
Guia 3Guia 3
Guia 3
 

Orm presentación final

  • 1. Contenido ● Introducción ● ORM ● Herramientas ● Hibernate ● Estructura Hibernate ● Aplicación ● Consultas ● Conclusión
  • 2. Introducción ● La programación Orientada a Objeto en la actualidad se utiliza con mucha frecuencia dentro de la programación, muchos lenguajes están diseñados OO, debido a las propiedades que posee. ● Para la mayoría de las aplicaciones, almacenar y recuperar información implica alguna forma de interacción con una base de datos relacional. Esto ha representado un problema fundamental para los desarrolladores porque algunas veces el diseño de datos relacionales y los ejemplares orientados a objetos comparten estructuras de relaciones muy diferentes dentro de sus respectivos entornos.
  • 3. ORM (Mapeo Objeto Relacional) ● Es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia. ● En la práctica esto crea una base de datos orientada a objetos virtual, sobre la base de datos relacional. ● Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo).
  • 4. Herramientas ❖ Postgres ❖ Eclipse ❖ Jboss ❖ Datamodeler ❖ Hibernate
  • 5. Hibernate ¿Qué es hibernate? ➔ Herramienta para lograr la persistencia de datos. ➔ Es una herramienta para ORM. ➔ Es de software libre. ➔ Archivos Declarativos. ➔ Es una herramienta de Mapeo objeto-relacional para la plataforma Java
  • 8. Estructura Hibernate Hibernate utiliza archivos XML para lograr el mapeo. Se tiene dos tipos de archivos. ● Los tipos de archivos de configuración: Determina todo aspecto relacionado con la base de datos (conexión, por ejemplo). ● Los archivos que definirán el mapeo.
  • 9. Estructura: Clase POJOs POJO, es una simple clase de Java. Significa: Plain Old Java Object, que contiene métodos get y set para cada uno de los atributos. En cada clase, se declaran las entidades de la base de datos con sus respectivos get y set.
  • 10. Archivo de Configuración El archivo de configuración (hibernate.cfg.xml) está constituido principalmente por: Nombre de la propiedad Uso hibernate.connection.driver_class JDBC driver class hibernate.connection.url JDBC URL hibernate.connection.username Nombre del usuario de la base de datos hibernate.connection.password Contraseña para acceder a la base de datos. hibernate.dialect Permite a Hibernate generar SQL optimizado para una determinada base de datos relacional.
  • 11. Archivos de mapeos Hibernate usa metadatos de mapeo para saber como cargar y almacenar objetos de la clase persistente. <hibernate-mapping> : Elemento raíz que contiene todos los elementos de la clase. <class> Los elementos de esta clase, son usados para definir mapeos de la clase de java a la tabla de base datos. <id>: Contener la ID única en la clase para la clave primaria de la base de datos.
  • 12. Archivos de mapeos <generator>: Se utiliza para generar valores automáticamente en la clave principal. <generator class="native"/> “native”, se utiliza para que hibernate elija cualquier identidad, ya sea secuencia u otra. “Assigned”, “sequence”, etc. <property>: Se usa para asignar una propiedad de clase Java a una columna de la base de datos. <property name="firstName" column="first_name" type="string"/> ● El atributo name, como siempre hace referencia a la propiedad de la clase. ● El atributo column, se refiere a la columna en la tabla de base datos. ● El atributo type, tiene el tipo de mapeo para hibernate, este tipo de mapeo se convertirá de Java a un tipo de datos SQL
  • 13. Archivos de mapeos Relaciones: ● <many-to-one> ● <one-to-one> ● <one-to-many> ● <many-to-many> Herencia: ● Tabla por jerarquía de clases. ● Tabla por subclase. ● Tabla por clase concreta.
  • 16. Consultas Hibernate (1) Existen 4 métodos: ● HQL ● Criteria API ● SQL nativo ● SQL nombradas
  • 17. Consultas Hibernate (2) HQL: Hibernate utiliza un lenguaje de consulta potente (HQL) que se parece a SQL. Sin embargo, comparado con SQL, HQL es completamente orientado a objetos y comprende nociones como herencia, polimorfismo y asociación.
  • 18. Consultas Hibernate (3) Criteria API ● Solamente se puede utilizar para realizar consultas. ● Orientada a Objetos
  • 20. Consultas Hibernate (5) SQL nativa: Hibernate permite realizar consultas casi idénticas a las SQL, a través de este método puede utilizar las tablas directamente.
  • 21. Consultas Hibernate (6) Sql nombradas: Las consultas SQL nombradas se pueden definir dentro del espacio de metadatos (Archivo XML).
  • 22. Conclusión ● La técnica XML, posee una forma es más legible, pero a la vez compleja. ● Seleccionar de forma correcta el método de herencia. ● Los métodos de consulta poseen mejores ventajas en ciertas condiciones necesarias.