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.

Orm presentación final

  • 1.
    Contenido ● Introducción ● ORM ●Herramientas ● Hibernate ● Estructura Hibernate ● Aplicación ● Consultas ● Conclusión
  • 2.
    Introducción ● La programaciónOrientada 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 ObjetoRelacional) ● 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
  • 6.
  • 7.
  • 8.
    Estructura Hibernate Hibernate utilizaarchivos 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 Elarchivo 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 Hibernateusa 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.
  • 14.
  • 15.
  • 16.
    Consultas Hibernate (1) Existen4 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) CriteriaAPI ● Solamente se puede utilizar para realizar consultas. ● Orientada a Objetos
  • 19.
  • 20.
    Consultas Hibernate (5) SQLnativa: 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) Sqlnombradas: Las consultas SQL nombradas se pueden definir dentro del espacio de metadatos (Archivo XML).
  • 22.
    Conclusión ● La técnicaXML, 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.