SlideShare una empresa de Scribd logo
ACCESO A DATOS
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
Contenidos de la unidad
1. Concepto de mapeo objeto‐relacional (ORM)
2. Características de las herramientas ORM
3. Instalación y configuración de una herramienta ORM
4. Estructura de ficheros de Hibernate. Mapeo y clases  persistentes.
5. Sesiones. Objeto para crearlas.
6. Carga, almacenamiento y modificación de objetos
7. Consultas HQL (Hibernate Query Language)
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
1. Concepto de mapeo objeto‐relacional (ORM)

El mapeo objeto‐relacional (más conocido con sus siglas ORM) 
es una técnica de programación que permite convertir datos entre el sistema de tipos utilizado en un lenguaje de 
programación y el utilizado en una base de datos relacional.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
2. Características de las herramientas ORM
Las ventajas principales del mapeo objeto‐relacional son:
Rapidez en el desarrollo
Abstracción de la base de datos
Reutilización
Mantenimiento del código
Lenguaje propio para realizar las consultas
Incentivan la portabilidad y escalabilidad de los programas de software
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
2. Características de las herramientas ORM

Uno de los inconvenientes es que las aplicaciones son algo más lentas debido a que todas las consultas que se hagan
sobre la base de datos, el sistema primero deberá transformarlas al lenguaje propio de la herramienta, luego leer los
registros y por último crear los objetos.
Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos
entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante ficheros declarativos
(XML) que permiten establecer estas relaciones.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3. Instalación y configuración de una herramienta ORM
En este apartado vamos a instalar y configurar Hibernate en el entorno Eclipse. Para los ejemplos vamos a utilizar una
base de datos MySQL de nombre EJEMPLO, cuyo propietario será el usuario ejemplo y la clave la misma que el nombre
de usuario. La creación de las tablas es la siguiente:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.

Para instalar el plugin de Hibernate para Eclipse se necesita tener conexión a Internet.
Primero iniciamos Eclipse.
Pulsamos en la opción del menú horizontal Help->Install New Software
Rellenamos el campo Work With con la siguiente URL: http://download.jboss.org/jbosstools/updates/stable/
Pulsamos el botón Add
Nos pide un nombre, escribimos, por ejemplo, Hibernate y pulsamos el botón Ok.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.
 Al rato aparece la lista de plugins. Pulsamos en la flechita que aparece a la izquierda de Data Services y

seleccionamos sólo Hibernate Tools, el resto de opciones las desmarcamos. Pulsamos el botón Next y comienza
el proceso de descarga.
 Una vez descargado, pulsamos de nuevo Next.
 Aceptamos la licencia y pulsamos el botón Finish.
 Comienza el proceso de instalación.
 Una vez instalado nos pide reiniciar Eclipse.
 Para comprobar que se ha instalado correctamente podemos pulsar en el menú

Windows->Open Perspective->Other->Hibernate
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL.
Una vez instalado Hibernate, el siguiente paso es configurarlo para que se comunique con MySQL. En primer lugar
hemos de descargarnos el driver MySQL desde la URL http://dev.mysql.com/downloads/connector/j/, en este caso se
ha descargado el archivo mysql-connector-java-5.1.29.zip. Se descomprime y se instala en la carpeta donde está
instalado el Eclipse.
A continuación desde el menú Windows->Preferences->Data Management->Connectivity->Driver Definitions se pulsa
el botón Add.
Desde la pestaña Name/Type se selecciona MySQL JDBC Driver
Desde la pestaña JAR List pulsamos el botón Add Jar/Zip y se selecciona el fichero mysql-connector-java-5.1.29-

bin.jar que está en la carpeta que se descomprimió del driver.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL.
A continuación vamos a crear un proyecto y configuraremos Hibernate para que se comunique con MySQL y nos
cree las clases correspondientes de cada tabla de la base de datos EJEMPLO.
Pulsamos en el menú File->New->Project->Java Project y pulsamos en Next, le damos nombre al proyecto y

pulsamos en Finish.
Agregamos el driver MySQL al proyecto, para ello seleccionamos nuestro proyecto, pulsamos el botón derecho del

ratón y seleccionamos Build Paths->Add Libreries.
Se visualiza una ventana desde la que hemos de elegir la opción Connectivity Driver Definition y pulsamos Next.
En la siguiente ventana seleccionamos MySQL JDBC Driver y pulsamos el botón Finish.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

El siguiente paso será crear un fichero de configuración de Hibernate hibernate.cfg.xml. Sobre nuestro proyecto,
pulsamos el botón derecho y hacemos click sobre New->Other->Hibernate->Hibernate Configuration File (cfg.xml). Este
fichero contiene todo lo necesario para realizar la conexión a la base de datos.
Previamente deberemos tener creada nuestra base de datos en MySQL.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.
Pulsamos el botón Next y nos preguntará dónde crear el fichero, dejamos
la carpeta por defecto src y volvemos a pulsar Next. A continuación
escribiremos los datos para conectarnos a la base de datos. Los campos a
rellenar son:
Session Factory name: nombre de nuestra conexión a a MySQL
Database Dialect: cómo se comunica JDBC. En nuestro caso elegiremos

MySQL
Driver Class: se selecciona la clase de JDBC que se va a usar para la

conexión.
Conection URL: ruta de la conexión a nuestra base de datos
Username: usuario que se conectará a la base de datos
Password: clave del usuario.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

Desde la pestaña Source se puede editar el fichero XML cfg.xml generado:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

Ahora hemos de crear el fichero XML Hibernate Console Configuration.
Pulsamos el botón derecho en nuestro proyecto y seleccionamos New>Other->Hibernate->Hibernate Console Configuration.
En la siguiente ventana, en el campo Name escribimos el nombre para
nuestra configuración, por ejemplo ConfiguracionHibernate. En el campo
Configuration file debe aparecer el fichero de configuración creado
anteriormente (hibernate.cfg.xml)
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.
Finalmente, crearemos el fichero XML Hibernate Reverse Engineering
(reveng.xml) que es el encargado de crear las clases de nuestras tablas
MySQL. Pulsamos el botón derecho en nuestro proyecto y seleccionamos
New->Other->Hibernate->Hibernate
Reverse
Engineering
File
(reveng.xml). Pulsamos Next y se nos pedirá que indiquemos dónde se va
a guardar el fichero. Se debe guardar en la misma carpeta que el fichero
hibernate.cfg.xml, en este caso, la carpeta src.
En la siguiente ventana indicaremos las tablas que queremos mapear.
Desde la lista Console configuration seleccionamos el nombre que le
dimos al fichero Hibernate Console Configuration, en nuestro caso
ConfiguracionHibernate y pulsamos el botón Refresh para que muestre la
base de datos Ejemplo y sus tablas.
Seleccionamos una a una todas las tablas y pulsamos el botón Include.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.4. Generar las clases de la base de datos.
A continuación vamos a generar las clases de nuestra base de datos Ejemplo.
Para ello pulsamos en la flecha al lado del botón Run As

y seleccionamos Hibernate Code Generation

En la siguiente ventana configuramos los siguientes campos:
Console Configuration: seleccionamos ConfiguracionHibernate
Output directory: ha de ser la carpeta src
Package: escribimos primero
Reveng.xml: localizamos el fichero reveng.xml creado anteriormente. Se puede localizar pulsando en el botón Setup.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.4. Generar las clases de la base de datos.

Desde la pestaña Exporters se indica los ficheros que queremos generar. Se marcan las casillas: Domain code, Hibernate
XML Mappins e Hibernate XML Configuration. Pulsamos el botón Apply y después el botón Run.
Se nos generará un paquete llamado primero con las clases Java de las tablas EMPLEADOS y DEPARTAMENTOS así
como un fichero xml para cada tabla con la información de mapeo.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.5. Primera consulta en HQL.
Para comprobar si la conexión a la base de datos funciona correctamente, vamos a realizar alguna consulta en HQL.
Desde el menú Window->Open Perspective->Other->Hibernate abrimos las perspectiva de Hibernate. Desde la pestaña
Hibernate pulsamos en nuestra configuración ConfiguraciónHibernate y pulsamos con el botón derecho del ratón en
Database->HQL Editor.
Escribimos el siguiente código HQL desde la pestaña ConfiguracionHibernate: from Empleados y pulsamos el botón para
ejecutar la consulta.
Desde este entorno también podemos realizar consultas al estilo SQL, por ejemplo:
select dnombre, loc, depNo from Departamentos
select empNo, apellido, salario from Empleados where dept_no = 10
Desde la perspectiva Hibernate y pulsando con el botón derecho en Configuration seleccionamos Mapping Diagram para
visualizar el diagrama de mapeo entre las clases Java y las tablas de la base de datos.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
Con la configuración realizada, aún no podemos empezar a programar en Java. Hemos de realizar los siguientes pasos:
1.Bajar la última distribución de Hibernate desde http://sourceforge.net/projects/hibernate/files/hibernate3/.
2.Creamos una carpeta dentro de Eclipse con nombre Hibernate. Descomprimimos el ZIP en esta carpeta.
3.Buscamos el fichero hibernate3.jar y lo copiamos en eclipseHibernate
4.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibrequired seleccionamos todos los ficheros

y los copiamos a nuestra carpeta eclipseHibernate
5.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibjpa seleccionamos todos los ficheros y los

copiamos a nuestra carpeta eclipseHibernate
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
6. Bajar la última distribución de la librería slf4j desde la URL http://www.slf4j.org/download.html, lo descomprimimos

y localizamos los ficheros slf4j-1.7.6.jar y slf4j-api-1.7.6.jar para copiarlos en la carpeta eclipseHibernate
7. Desde Eclipse, hacemos clic con el botón derecho en nuestro proyectoy pulsamos en Build Path->Add Libreries y

elegimos User Librery. Pulsamos Next.
8. Pulsamos en User Libreries y a continuación en New. Nos pedirá el nombre de la librería que queremos agregar y

escribimos, por ejemplo, HibernateLib. Pulsamos el botón OK.
9. Pulsamos el botón Add JARs y seleccionamos todos los JAR de nuestra carpeta Hibernate. Pulsamos el botón

Abrir, despuñes Ok y por último, Finish.
Con esto ya podemos crear el primer programa Java en nuestro proyecto que nos va a permitir comunicarnos con
nuestra base de datos.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En primer lugar, crearemos una instancia de la base de datos para poder trabajar con ella y que se utilizará a lo largo
de toda la aplicación. Necesitaremos crear un singleton.
El singleton es un patrón de diseño para restringir la creación de objetos pertenecientes a una clase. Su
intención es garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo
si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance
del constructor (con atributos como protegido o privado).
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
Con esta clase podemos obtener la sesión actual desde cualquier parte de nuestra aplicación:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo insertar una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo leer una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo actualizar una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo borrar una fila de la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo ejecutar una consulta HQL desde el código Java sobre la
tabla DEPARTAMENTOS:

Más contenido relacionado

PPTX
Acceso a datos
PPT
Lenguajes de Marcas XML
PPT
11. lectura y escritura de información
PPT
Archivos aleatorios en java
PDF
Manejo de archivos en java
PDF
PPTX
Archivos secuenciales indexados
PPSX
Curso scjp 30 navegacion de archivos e io
Acceso a datos
Lenguajes de Marcas XML
11. lectura y escritura de información
Archivos aleatorios en java
Manejo de archivos en java
Archivos secuenciales indexados
Curso scjp 30 navegacion de archivos e io

La actualidad más candente (20)

PPTX
Archivos Secuenciales Indexados
PPTX
Utilizacion de archivos en Dev C++
PDF
Temas programacion java_3
PPTX
Archivos C++
PPTX
Archivo secuencial indexado
PPTX
Archivo secuencial indexado
PPTX
Grupo 1 Archivos Secuenciales Indexados en C++
PDF
Manejo de archivos en el lenguaje C
PPT
Archivos en C
PDF
Manejo de archivos en c++
PPTX
Archivossin
PDF
Manejo archivos
ODP
ARCHIVO EN LENGUAJE C
PPT
ARCHIVOS LENGUAJE C
PPT
Objetivo 01 Archivos de Texto
PPT
CURSO DE DB2 DEMO
PPTX
Db2 (2)
DOCX
Flujos y archivos
PPTX
Fichero c y c++
Archivos Secuenciales Indexados
Utilizacion de archivos en Dev C++
Temas programacion java_3
Archivos C++
Archivo secuencial indexado
Archivo secuencial indexado
Grupo 1 Archivos Secuenciales Indexados en C++
Manejo de archivos en el lenguaje C
Archivos en C
Manejo de archivos en c++
Archivossin
Manejo archivos
ARCHIVO EN LENGUAJE C
ARCHIVOS LENGUAJE C
Objetivo 01 Archivos de Texto
CURSO DE DB2 DEMO
Db2 (2)
Flujos y archivos
Fichero c y c++
Publicidad

Similar a 4. acceso a datos (20)

PPTX
I report
PPTX
PDF
Admin Manual
DOCX
Drupal instalacion
DOCX
Manual completo del manejador de base de datos Postgre SQL
PDF
Manual jira , Instalación, Creación de Proyecto, Incidencias, Usuarios
PDF
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
PDF
Manual de instalacion
PPT
Power point report
DOCX
bases de datos desde visual basic
DOC
Trabajo pratico nº 3
PDF
Manual oscommerce
PDF
Creación de extensiones nativas
PPTX
Reportes
PDF
Conectar con bases de datos
PPTX
Jasreport
I report
Admin Manual
Drupal instalacion
Manual completo del manejador de base de datos Postgre SQL
Manual jira , Instalación, Creación de Proyecto, Incidencias, Usuarios
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual de instalacion
Power point report
bases de datos desde visual basic
Trabajo pratico nº 3
Manual oscommerce
Creación de extensiones nativas
Reportes
Conectar con bases de datos
Jasreport
Publicidad

Más de Anuska González (7)

PPTX
Seguridad y alta disponibilidad
PPTX
Implantación de aplicaciones web
PPTX
Programación de servicios y procesos
PPTX
Programación multimedia y dispositivos móviles
PPTX
Inicio del curso 2013 2014
PPSX
Presentación seguridad informática
PPT
Presentación de prueba
Seguridad y alta disponibilidad
Implantación de aplicaciones web
Programación de servicios y procesos
Programación multimedia y dispositivos móviles
Inicio del curso 2013 2014
Presentación seguridad informática
Presentación de prueba

Último (20)

PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
IPERC...................................
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
2.0 Introduccion a processing, y como obtenerlo
PPTX
Clase 3 del silabo-gestion y control financiero
informe tipos de Informatica perfiles profesionales _pdf
Tomo 1 de biologia gratis ultra plusenmas
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PLANES DE área ciencias naturales y aplicadas
Escuelas Desarmando una mirada subjetiva a la educación
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Presentación de la Cetoacidosis diabetica.pptx
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
IPERC...................................
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
2.0 Introduccion a processing, y como obtenerlo
Clase 3 del silabo-gestion y control financiero

4. acceso a datos

  • 2. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) Contenidos de la unidad 1. Concepto de mapeo objeto‐relacional (ORM) 2. Características de las herramientas ORM 3. Instalación y configuración de una herramienta ORM 4. Estructura de ficheros de Hibernate. Mapeo y clases  persistentes. 5. Sesiones. Objeto para crearlas. 6. Carga, almacenamiento y modificación de objetos 7. Consultas HQL (Hibernate Query Language)
  • 3. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 1. Concepto de mapeo objeto‐relacional (ORM) El mapeo objeto‐relacional (más conocido con sus siglas ORM)  es una técnica de programación que permite convertir datos entre el sistema de tipos utilizado en un lenguaje de  programación y el utilizado en una base de datos relacional.
  • 4. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 2. Características de las herramientas ORM Las ventajas principales del mapeo objeto‐relacional son: Rapidez en el desarrollo Abstracción de la base de datos Reutilización Mantenimiento del código Lenguaje propio para realizar las consultas Incentivan la portabilidad y escalabilidad de los programas de software
  • 5. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 2. Características de las herramientas ORM Uno de los inconvenientes es que las aplicaciones son algo más lentas debido a que todas las consultas que se hagan sobre la base de datos, el sistema primero deberá transformarlas al lenguaje propio de la herramienta, luego leer los registros y por último crear los objetos. Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante ficheros declarativos (XML) que permiten establecer estas relaciones.
  • 6. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3. Instalación y configuración de una herramienta ORM En este apartado vamos a instalar y configurar Hibernate en el entorno Eclipse. Para los ejemplos vamos a utilizar una base de datos MySQL de nombre EJEMPLO, cuyo propietario será el usuario ejemplo y la clave la misma que el nombre de usuario. La creación de las tablas es la siguiente:
  • 7. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin. Para instalar el plugin de Hibernate para Eclipse se necesita tener conexión a Internet. Primero iniciamos Eclipse. Pulsamos en la opción del menú horizontal Help->Install New Software Rellenamos el campo Work With con la siguiente URL: http://download.jboss.org/jbosstools/updates/stable/ Pulsamos el botón Add Nos pide un nombre, escribimos, por ejemplo, Hibernate y pulsamos el botón Ok.
  • 8. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.  Al rato aparece la lista de plugins. Pulsamos en la flechita que aparece a la izquierda de Data Services y seleccionamos sólo Hibernate Tools, el resto de opciones las desmarcamos. Pulsamos el botón Next y comienza el proceso de descarga.  Una vez descargado, pulsamos de nuevo Next.  Aceptamos la licencia y pulsamos el botón Finish.  Comienza el proceso de instalación.  Una vez instalado nos pide reiniciar Eclipse.  Para comprobar que se ha instalado correctamente podemos pulsar en el menú Windows->Open Perspective->Other->Hibernate
  • 9. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL. Una vez instalado Hibernate, el siguiente paso es configurarlo para que se comunique con MySQL. En primer lugar hemos de descargarnos el driver MySQL desde la URL http://dev.mysql.com/downloads/connector/j/, en este caso se ha descargado el archivo mysql-connector-java-5.1.29.zip. Se descomprime y se instala en la carpeta donde está instalado el Eclipse. A continuación desde el menú Windows->Preferences->Data Management->Connectivity->Driver Definitions se pulsa el botón Add. Desde la pestaña Name/Type se selecciona MySQL JDBC Driver Desde la pestaña JAR List pulsamos el botón Add Jar/Zip y se selecciona el fichero mysql-connector-java-5.1.29- bin.jar que está en la carpeta que se descomprimió del driver.
  • 10. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL. A continuación vamos a crear un proyecto y configuraremos Hibernate para que se comunique con MySQL y nos cree las clases correspondientes de cada tabla de la base de datos EJEMPLO. Pulsamos en el menú File->New->Project->Java Project y pulsamos en Next, le damos nombre al proyecto y pulsamos en Finish. Agregamos el driver MySQL al proyecto, para ello seleccionamos nuestro proyecto, pulsamos el botón derecho del ratón y seleccionamos Build Paths->Add Libreries. Se visualiza una ventana desde la que hemos de elegir la opción Connectivity Driver Definition y pulsamos Next. En la siguiente ventana seleccionamos MySQL JDBC Driver y pulsamos el botón Finish.
  • 11. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. El siguiente paso será crear un fichero de configuración de Hibernate hibernate.cfg.xml. Sobre nuestro proyecto, pulsamos el botón derecho y hacemos click sobre New->Other->Hibernate->Hibernate Configuration File (cfg.xml). Este fichero contiene todo lo necesario para realizar la conexión a la base de datos. Previamente deberemos tener creada nuestra base de datos en MySQL.
  • 12. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Pulsamos el botón Next y nos preguntará dónde crear el fichero, dejamos la carpeta por defecto src y volvemos a pulsar Next. A continuación escribiremos los datos para conectarnos a la base de datos. Los campos a rellenar son: Session Factory name: nombre de nuestra conexión a a MySQL Database Dialect: cómo se comunica JDBC. En nuestro caso elegiremos MySQL Driver Class: se selecciona la clase de JDBC que se va a usar para la conexión. Conection URL: ruta de la conexión a nuestra base de datos Username: usuario que se conectará a la base de datos Password: clave del usuario.
  • 13. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Desde la pestaña Source se puede editar el fichero XML cfg.xml generado:
  • 14. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Ahora hemos de crear el fichero XML Hibernate Console Configuration. Pulsamos el botón derecho en nuestro proyecto y seleccionamos New>Other->Hibernate->Hibernate Console Configuration. En la siguiente ventana, en el campo Name escribimos el nombre para nuestra configuración, por ejemplo ConfiguracionHibernate. En el campo Configuration file debe aparecer el fichero de configuración creado anteriormente (hibernate.cfg.xml)
  • 15. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Finalmente, crearemos el fichero XML Hibernate Reverse Engineering (reveng.xml) que es el encargado de crear las clases de nuestras tablas MySQL. Pulsamos el botón derecho en nuestro proyecto y seleccionamos New->Other->Hibernate->Hibernate Reverse Engineering File (reveng.xml). Pulsamos Next y se nos pedirá que indiquemos dónde se va a guardar el fichero. Se debe guardar en la misma carpeta que el fichero hibernate.cfg.xml, en este caso, la carpeta src. En la siguiente ventana indicaremos las tablas que queremos mapear. Desde la lista Console configuration seleccionamos el nombre que le dimos al fichero Hibernate Console Configuration, en nuestro caso ConfiguracionHibernate y pulsamos el botón Refresh para que muestre la base de datos Ejemplo y sus tablas. Seleccionamos una a una todas las tablas y pulsamos el botón Include.
  • 16. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.4. Generar las clases de la base de datos. A continuación vamos a generar las clases de nuestra base de datos Ejemplo. Para ello pulsamos en la flecha al lado del botón Run As y seleccionamos Hibernate Code Generation En la siguiente ventana configuramos los siguientes campos: Console Configuration: seleccionamos ConfiguracionHibernate Output directory: ha de ser la carpeta src Package: escribimos primero Reveng.xml: localizamos el fichero reveng.xml creado anteriormente. Se puede localizar pulsando en el botón Setup.
  • 17. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.4. Generar las clases de la base de datos. Desde la pestaña Exporters se indica los ficheros que queremos generar. Se marcan las casillas: Domain code, Hibernate XML Mappins e Hibernate XML Configuration. Pulsamos el botón Apply y después el botón Run. Se nos generará un paquete llamado primero con las clases Java de las tablas EMPLEADOS y DEPARTAMENTOS así como un fichero xml para cada tabla con la información de mapeo.
  • 18. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.5. Primera consulta en HQL. Para comprobar si la conexión a la base de datos funciona correctamente, vamos a realizar alguna consulta en HQL. Desde el menú Window->Open Perspective->Other->Hibernate abrimos las perspectiva de Hibernate. Desde la pestaña Hibernate pulsamos en nuestra configuración ConfiguraciónHibernate y pulsamos con el botón derecho del ratón en Database->HQL Editor. Escribimos el siguiente código HQL desde la pestaña ConfiguracionHibernate: from Empleados y pulsamos el botón para ejecutar la consulta. Desde este entorno también podemos realizar consultas al estilo SQL, por ejemplo: select dnombre, loc, depNo from Departamentos select empNo, apellido, salario from Empleados where dept_no = 10 Desde la perspectiva Hibernate y pulsando con el botón derecho en Configuration seleccionamos Mapping Diagram para visualizar el diagrama de mapeo entre las clases Java y las tablas de la base de datos.
  • 19. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. Con la configuración realizada, aún no podemos empezar a programar en Java. Hemos de realizar los siguientes pasos: 1.Bajar la última distribución de Hibernate desde http://sourceforge.net/projects/hibernate/files/hibernate3/. 2.Creamos una carpeta dentro de Eclipse con nombre Hibernate. Descomprimimos el ZIP en esta carpeta. 3.Buscamos el fichero hibernate3.jar y lo copiamos en eclipseHibernate 4.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibrequired seleccionamos todos los ficheros y los copiamos a nuestra carpeta eclipseHibernate 5.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibjpa seleccionamos todos los ficheros y los copiamos a nuestra carpeta eclipseHibernate
  • 20. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. 6. Bajar la última distribución de la librería slf4j desde la URL http://www.slf4j.org/download.html, lo descomprimimos y localizamos los ficheros slf4j-1.7.6.jar y slf4j-api-1.7.6.jar para copiarlos en la carpeta eclipseHibernate 7. Desde Eclipse, hacemos clic con el botón derecho en nuestro proyectoy pulsamos en Build Path->Add Libreries y elegimos User Librery. Pulsamos Next. 8. Pulsamos en User Libreries y a continuación en New. Nos pedirá el nombre de la librería que queremos agregar y escribimos, por ejemplo, HibernateLib. Pulsamos el botón OK. 9. Pulsamos el botón Add JARs y seleccionamos todos los JAR de nuestra carpeta Hibernate. Pulsamos el botón Abrir, despuñes Ok y por último, Finish. Con esto ya podemos crear el primer programa Java en nuestro proyecto que nos va a permitir comunicarnos con nuestra base de datos.
  • 21. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En primer lugar, crearemos una instancia de la base de datos para poder trabajar con ella y que se utilizará a lo largo de toda la aplicación. Necesitaremos crear un singleton. El singleton es un patrón de diseño para restringir la creación de objetos pertenecientes a una clase. Su intención es garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella. El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance del constructor (con atributos como protegido o privado).
  • 22. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. Con esta clase podemos obtener la sesión actual desde cualquier parte de nuestra aplicación:
  • 23. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo insertar una fila en la tabla DEPARTAMENTOS:
  • 24. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo leer una fila en la tabla DEPARTAMENTOS:
  • 25. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo actualizar una fila en la tabla DEPARTAMENTOS:
  • 26. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo borrar una fila de la tabla DEPARTAMENTOS:
  • 27. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo ejecutar una consulta HQL desde el código Java sobre la tabla DEPARTAMENTOS: