SlideShare a Scribd company logo
1 of 24
Download to read offline
Contenido
 
 
I. Introducción 
II.  Objetivos 
III. Desarrollo 
3.1 ¿Qué es la persistencia de objeto? 
3.2 ¿Qué es ORM? 
3.3 Ventajas y Desventajas de ORM 
3.4 Herramientas ORM 
3.5 Estructura de Hibernate 
3.5.1 Archivos a utilizar. 
3.5.1.1 Archivos de configuración 
3.5.1.2 Archivos de mapeos 
3.6 Base de datos a implementar con ORM 
3.6.1 Modelo relacional 
3.6.2 Descripción de las entidades. 
3.6.3 Creación de la base de datos. 
3.6.4 Creación de las clases. 
3.6.5 Archivos XML 
3.6.8 Main. 
IV. Conclusión 
V. Bibliografía 
VI. Anexos 
 
 
 
I. Introducción
 
Durante el desarrollo de una aplicación suelen estar involucradas dos entidades                     
diferentes: el código que mueve la aplicación y los datos que se manejan. Ambas                           
entidades han evolucionado de manera diferente, y el acceso a los datos desde los                           
programas se ha vuelto una tarea en ocasiones, complicada. Los sistemas de                       
Mapeo Objeto­Relacional ayudan a combatir esta complicación. 
 
En el siguiente informe presentamos lo que son las ORM y la utilización que tienen,                             
tanto sus ventajas como desventajas, dentro del aspecto de la programación                     
(aplicación en sí). Así como existen diferentes aplicativos para realizar la                     
“comunicación” entre nuestra aplicación con nuestra base de datos, también                   
llamados frameworks. 
 
Se realiza una demostración ejemplo, de un modelo basado en la cantidad de                         
trabajadores que realizan algún tipo de proyecto, cuyos empleados pertenecen a                     
cierto departamento. Con este aplicativo, se realiza la consulta de los datos que                         
existen, todo esto a través del framework a utilizar (en este caso Hibernate), a                           
través de la base de datos que otorga postgresql. 
 
 
 
 
 
   
II. Objetivos
 
2.1 Objetivos Generales:
 
● Desarrollar a través de un ejemplo práctico, la aplicación del concepto de Mapeo                         
objeto relacional (ORM), mediante la utilización de distintas herramientas                 
tecnológicas libres (software), que permitan el desarrollo íntegro del proyecto. 
 
2.2 Objetivos Específicos:
 
● Estudiar el concepto Mapeo Objeto Relacional (ORM) 
● Diseñar un mini proyecto que permita aplicar el concepto ORM 
● Utilizar la herramienta Hibernate, para aplicar el proyecto. 
● Realizar el mapeo  mediante archivo XML 
 
   
 
III. Desarrollo
 
3.1 ¿Qué es la persistencia de objeto?
 
La persistencia de objetos es la capacidad que tienen los objetos de sobrevivir al                           
proceso que los creó; permitiendo al programador almacenar, transferir y recuperar                     
su estado. 
 
3.2 ¿Qué es ORM?
 
Es un modelo de programación el cual consiste en la transformación de las tablas                           
de una base de datos, en una serie de entidades que logren simplificar las tareas                             
básicas de acceso a los datos para el programador. 
 
Antes de la aparición de los sistemas ORM, las consultas se tenían que realizar a                             
mano dentro de las propias aplicaciones, así la ventaja de los lenguajes orientados                         
a objetos se perdía, ya que había que crear una petición a la base de datos de                                 
manera manual. Además esta petición debe ser específica para cada sistema, ya                       
que no todos los gestores de bases de datos tienen la misma implementación del                           
lenguaje SQL. 
 
Ejemplo: Limitar el número de registro de una consulta. 
SELECT TOP 10 * FROM usuarios //SqlServer 
SELECT * FROM usuarios LIMIT 10 //MySQL 
SELECT * FROM usuarios WHERE rownum<=20; //Oracle 
 
 
Esto supone un problema para el programador, que tendrá que aprender acerca del                         
lenguaje de base de datos, y si desea migrar la aplicación a otra, tendrá que                             
reescribir un gran número de consultas. 
 
Por lo tanto ORM es: La persistencia automatizada y transparente de las tablas en                           
una Base de Datos relacional, usando metadatos (datos que describen a otros                       
datos) que definen el mapeo entre los objetos y la Base de Datos. 
 
Es decir que la aplicación en sí utiliza frameworks, ya que se utiliza una técnica en 
donde se ligan las bases de datos y los conceptos de orientación a objetos creando 
”bases de datos virtuales”.  
 
 
Figura n°1: Mapeo objeto relacional  
 
Una solución ORM esta formada por cuatro partes: 
 
1. Una API que posibilite la realización de operaciones de creación, actualización y                         
borrado sobre objetos de clases persistentes. 
2. Un lenguaje o API para poder especificar consultas sobre dichas clases. 
3. Una opción para especificar mapeo de metadatos. 
4. Una técnica para que la implementación del ORM pueda llevar a cabo                         
búsquedas, asociaciones u otras funciones de optimización. 
 
 
3.3 Ventajas y Desventajas de ORM
 
❖ Ventajas 
➢ Facilidad y velocidad de uso 
➢ Abstracción de la base de datos usada. 
➢ Seguridad de la capa de acceso a datos contra ataques. 
❖ Desventajas 
➢ En entornos con gran carga poner una capa más en el proceso puede 
mermar el rendimiento. 
➢ Aprender el nuevo lenguaje del ORM. 
 
 
 
 
3.4 Herramientas ORM
 
Existen múltiples herramientas para realizar esta persistencia de datos, para el 
lenguaje java por ejemplo encontramos algunas tales como:  Hibernate, iBatis, 
Ebean, etc. 
 
En el trabajo propuesto se utilizó la herramienta Hibernate. Algunas de sus 
características son las siguientes: 
­ No tiene adquisición o cuotas de mantenimiento. 
­ Se integra perfectamente con otros frameworks. 
­ Fácil de aprender y usar. 
­ Flexible: Se puede utilizar con o sin Ejes, a nivel de empresa o aplicaciones 
Java. 
­ Es de código abierto. 
 
3.5 Estructura de Hibernate
 
Para trabajar con Hibernate, hay que definir cómo se trabajará si se usará POJOs 
(clases) o no, definir donde se encontrará el archivo de configuración; creación de 
la base de datos, definición de las clases persistentes y no persistentes; definición 
del mapeo registro­objeto; definir los métodos de acceso a datos y de persistencia 
de los datos; programar los métodos y probarlos. 
 
3.5.1 Archivos a utilizar.
 
Se tiene dos tipos de archivos (propios de Hibernate). 
­ Los tipos de archivos de configuración: Determina todo aspecto relacionado con la 
base de datos (conexión, por ejemplo). 
­ Y los archivos que definirán el mapeo. 
 
3.5.1.1 Archivos de configuración
 
El archivo de configuración (hibernate.cfg.xml) está constituido principalmente por: 
 
Nombre de la propiedad  Uso 
hibernate.connection.driver_class  Controlador clase JDBC  
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.connection.pool_size  Número máximo de un grupo de 
conexiones. 
 
También encontramos otras que son opcionales, pero que fue utilizada en el desarrollo 
del proyecto: 
Nombre de la propiedad  Uso 
hibernate.dialect  Permite a Hibernate generar SQL         
optimizado para una determinada base de           
datos relacional. 
 
 
A continuación se presentan los diferentes dialectos que existen en hibernate: 
 
 
 
Finalmente, el archivo hibernate.cfg.xml, quedaría como el ejemplo que se anuncia a 
continuación: 
 
<property 
name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
<property name="hibernate.connection.password">clave</property> 
<property 
name="hibernate.connection.url">jdbc:postgresql://localhost:5432/postgress
</property> 
<property name="hibernate.connection.username">postgres</property> 
<property 
name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property
> 
<mapping resource="hibernate.hbm.xml"/> 
 
 
 
3.5.1.2 Archivos de mapeos
 
 
Hibernate usa metadatos de mapeo para saber como cargar y almacenar objetos de la 
clase persistente. Y tienes ciertas etiquetas que se identificarán a continuación. 
 
 
<hibernate­mapping> 
Elemento raíz que contiene todos los elementos de la clase. 
 
<class> 
Los elementos de esta clase, son usados para definir específicos mapeos de la clase de 
java a la tabla de base datos.  
 
Ejemplo:  
<class name="Event" table="EVENTS"> 
    ... 
</class> 
 
● El atributo name, es el nombre de la clase que se quiere definir como entidad. 
● El atributo table, es el nombre de la base de datos que contiene los datos para 
esta entidad. 
 
 
<meta> 
Este elemento es opcional y puede ser usado para crear descripción de clases. 
 
Ejemplo: 
<meta attribute="class­description"> 
This class contains the employee detail.  
</meta> 
 
 
<id> 
Este elemento contiene la ID única en la clase para la clave primaria de la base de datos 
 
 
Ejemplo: 
<id name="id" type="int" column="id"> 
…</id> 
 
 
● El atributo name, del elemento id, se refiere a la propiedad de la tabla. 
● 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. 
 
<generator> 
Se utiliza para generar valores automáticamente en la clave principal. 
 
Ejemplo: 
<id name="id" type="int" column="id"> 
<generator class="native"/> 
</id> 
 
En el ejemplo anterior, el elemento generador esta en “native”, para dejar que hibernate 
elija cualquier identidad, ya sea secuencia o algoritmo de hilo para crear la clave primaria 
dependiendo de la base de datos. También encontramos Assigned, sequence, entre 
muchas más. 
 
 
<property> 
Se usa para asignar una propiedad de clase Java a una columna de la base de datos. 
 
Ejemplo: 
<property name="firstName" column="first_name" type="string"/> 
<property name="lastName" column="last_name" type="string"/> 
<property name="salary" column="salary" type="int"/> 
 
● 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 
 
 
El mapeo final del archivo ejemplo employee.hbm.xml quedaría de la siguiente forma: 
 
            Figura n°2: Mapeo de la clase Employee a la tabla Employee y sus propiedades 
 
 
3.5.1.2.1 Relaciones. 
 
Las siguientes, son las etiquetas que logran hacer la asociación de las clases entre las 
entidades y las tablas de ORM. Un mapeo de asociación puede ser bidireccional o 
unidireccional.  
 
Tipo de mapeo  Descripción. 
many­to­one  Mapea la relación mucho a uno 
one­to­one  Mapea la relación uno a uno 
one­to­many  Mapea la relación uno a mucho 
many­to­many  Mapea la relación muchos a muchos. 
 
Cuando se dice unidireccional, se refiere a que la relación será sólo en un sentido y 
bidireccional en ambos sentidos. 
 
 
3.5.1.2.2 Herencia. 
 
Para reflejar la herencia de de una base datos y poder persistir las clases heredadas, 
también cuenta con sus propias etiquetas, de las cuales Hibernate da tres opciones a 
elegir según las necesidades de la aplicación. 
 
❖ Tabla por jerarquía de clases: 
Se genera una sola tabla, donde se guardan todas las instancias de la herencia.                           
Esta tabla tiene una columna para cada una de las propiedades de cada una de                             
las clases que forman la jerarquía. 
 
Para saber a qué clase concreta pertenece una fila de esta tabla se usa un valor                               
en una columna discriminadora. Esta columna discriminadora, es importante                 
debido a que sabremos qué clase pertenece cada una de las filas de nuestra                           
tabla. El valor contenido puede ser cualquiera que nosotros indiquemos para cada                       
una de nuestras entidades. 
 
❖ Tabla por subclase: 
Cada una de las clases y subclases que declaren atributos persistentes,                     
incluyendo clases abstractas e interfaces, tendrán su propia tabla. Cada tabla                     
tiene solamente, las columnas que representan los atributos declarados en la                     
clase, junto con una columna para la llave primaria que es también una llave                           
foránea de la superclase.  
 
❖ Tabla por clase concreta : 
En este caso se genera una tabla por cada una de las entidades no­abstractas                           
que tenga nuestra aplicación. Sin embargo, cada tabla tendrá una columna para                       
cada uno de los atributos de la clase de la entidad que almacena, tanto atributos                             
propios como heredados.  
 
 
 
3.6 Aplicativo
 
Para la realización del proyecto a desarrollar, se utilizaron las siguientes herramientas: 
­ Datamodeler. 
­ PostgreSQL 
­ Eclipse. 
­ Jboss: Servidor de aplicaciones java EE 
­ Y por supuesto, Hibernate. 
 
 
3.6.1 Modelo relacional
 
            Figura n°3: Modelo relacional de la base de datos. 
 
 
3.6.2 Descripción de las entidades.
 
Empleado: Entidad que tiene toda la información de los empleados. 
Atributo  Tipo  Descripción  Restricción 
ID_Empleados  integer  Se almacena el id del 
empleado 
Clave Primaria 
No nulo 
Nombre  varchar  Se almacena el 
nombre del empleado 
No nulo. 
Apellido  varchar  Se almacena el 
apellido del empleado 
No nulo. 
Dirección  varchar  Se almacena la 
dirección del 
empleado. 
 
Departamento_numero_departament
o 
integer  Foránea de la tabla 
departamento 
Clave Foránea.  
No nulo. 
 
Ingeniero: Entidad que tiene la información de los empleados que son ingenieros. 
Atributo  Tipo  Descripción  Restricción 
ID  integer  Se almacena el id del 
ingeniero 
Clave Primaria 
No nulo 
Área  varchar  Se almacena el área 
en que traba el 
ingeniero 
No nulo. 
 
Secretaria: Entidad que tiene la información de los empleados que son Secretaria. 
Atributo  Tipo  Descripción  Restricción 
ID  integer  Se almacena el id de 
secretaria 
Clave Primaria 
No nulo 
Software  varchar  Software que utiliza 
secretaria 
No nulo. 
velocidad_de_tipeo  varchar  Almacena la velocidad 
de tipeo de Secretaria 
No nulo. 
 
TecnicoProgramador: Entidad que tiene la información de los empleados que son 
técnicos programadores. 
Atributo  Tipo  Descripción  Restricción 
ID  integer  Se almacena el id del 
técnico programador 
Clave Primaria 
No nulo 
Lenguaje_favorito  varchar  Se almacena el 
lenguaje preferido del 
técnico programador. 
No nulo. 
 
Departamento: Entidad donde se tiene la información de los departamentos. 
Atributo  Tipo  Descripción  Restricción 
numero_departamento  integer  Se almacena el id de 
departamento 
Clave Primaria 
No nulo 
Nombre  varchar  Almacena el nombre 
del departamento. 
No nulo. 
Ubicación  varchar  Se almacena la 
información de la 
ubicación del 
departamento. 
No nulo. 
 
Proyectos: Entidad que se refiere a la información de los proyectos que se realizan. 
Atributo  Tipo  Descripción  Restricción 
ID_Proyectos  integer  Se almacena el id de 
Proyecto 
Clave Primaria 
No nulo 
Nombre  varchar  Almacena el nombre 
del proyecto. 
No nulo. 
Descripción  varchar  Almacena la 
descripción del 
proyecto. 
 
 
 
 
Trabaja_en: Entidad que se encuentra en relación con Empleados y Proyectos.  
Atributo  Tipo  Descripción  Restricción 
empleados_id  integer  Foránea para la tabla 
Empleado. 
Clave Foránea 
No nulo 
proyectos_id  integer  Foránea para la tabla 
Proyectos. 
Clave Foránea 
No nulo 
Horas  varchar  Se almacena las horas 
de trabajo del 
proyecto. 
No nulo. 
 
 
3.6.3 Creación de la base de datos.
 
Para crear la base de datos propuesta, se utilizó postgresql. A continuación los códigos 
SQL para la creación del modelo ya mostrado (Figura N°3). 
 
 
 
 
 
 
 
 
3.6.4 Creación de las clases.
 
Se utilizó el IDE eclipse para el desarrollo del aplicativo en cuestión,  se instala Hibernate 
como un plug­in para trabajar con él.  
 
Lo primero que se hizo, luego de la creación de la base de datos y la configuración del 
IDE con hibernate, fue crear las clases del aplicativo utilizando POJO.  
 
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 POJO, se declararon las 
entidades de la base de datos, ya antes mostrado, con sus respectivos get y set. 
 
3.6.5 Archivos XML
 
 
Mapeo Empleado ­ Departamento 
 
Como se observó en el modelo relacional, la relación entre Empleado y Departamento, 
en la cual un empleado pertenece a un departamento y un departamento tiene muchos 
empleados, aquí se realizó un mapeo objeto relacional unidireccional en la cual solo 
Empleado sabe de la relación con Departamento, no asi departamento quien no sabe de 
la relación con empleado, por lo que se hizo un mapeo de muchos a uno. 
 
El mapeo realizado por Hibernate se explica a continuación. 
ondiente nombre en la base de datos empleados, luego  su id en la clase con su tipo de 
datos, la columna en la tabla de la base d
 
            Figura n°4: Archivo Employee.hbm.xml  
 
 
Con la etiqueta del elemento class con el nombre de la clase Employee y su 
correspondiente id, luego se genera un  número de secuencia para evitar conflicto de 
duplicación de clave primaria, luego las propiedades de la clase Employee (sus atributos) 
que se verá reflejado en la base de datos después de realizar el mapeado y Finalmente 
la etiqueta many to one con el nombre de la clase a la cual se esta asociando a 
Empleados que en este caso es Departamento y la columna que la asocia que es en este 
caso Departamento_num_depto con la propiedad no nula.  A continuación la 
configuración del XML de Departamento que solo tiene el nombre de la clase su id,  su 
generador y sus propiedades ya que no sabe de la relación con Empleados. 
 
 
            Figura n°5: Archivo Departamento.hbm.xml  
Mapeo Empleado ­ Proyecto 
 
De antemano se crea la base de datos, es decir se crearon cada una de las tablas 
correspondientes a cada entidad incluyendo la tabla que se crea por la relación entre 
empleados y proyecto (tabla trabajan_en). 
 
Como se observó en el modelo relacional, la relación entre Empleado y Proyecto es que 
un empleado puede trabajar en muchos proyectos y un proyecto puede tener asociado 
muchos empleados, aquí se realizó un mapeo objeto relacional unidireccional en la cual 
solo Proyecto sabe de la relación con Empleados, no asi empleado quien no es 
“conciente” de la relación con proyecto, por lo que se hizo un mapeo esta  de muchos a 
muchos por lo que Hibernate crea automáticamente la tabla unión trabajan_en, la 
desventaja de esta opción es que no es posible llenar el atributo horas que se encuentra 
en la tabla trabajan_en. Se hizo un mapeo muchos a muchos como se puede observar 
en la siguiente figura número 6. 
 
 
            Figura n°6: Archivo Proyectos.hbm.xml  
 
El archivo XML correspondiente a Empleados es el mostrado en la figura número 4  ya 
que empleados no sabe de la relación con proyectos ya que es unidireccional. 
 
 
 
 
 
 
 
 
Mapeo Empleado ­ TecnicoProgramador 
 
 
            Figura n°7: Segunda parte del Archivo Employee.hbm.xml donde se observa el mapeo  de 
la herencia 
 
Figura n°8:  Archivo de configuración TecnicoProgramador.hbm.xml 
 
3.6.8 Consultas.
 
Hibernate proporciona 4 métodos para poder realizar consultas sobre las bases de datos, 
estas consultas 
 
Tipos de Consultas Hibernate: 
 
Hibernate permite 4 tipos de consultas, las cuales todas primero se ejecutan sobre la 
capa virtual de hibernate y luego se traducen a lenguaje SQL, algunos métodos 
requieren menos trabajo de conversión debido a la forma en la cual permite trabajar, a 
continuación se presentan los métodos de consultas: 
 
1. HQL(Hibernate Query Language), es un híbrido entre Sql y Orientación Objeto, 
permite consultas CRUD(Create, Read,Update, Delete). 
 
2. Criteria API, Orientado Puramente a orientación a objeto, solamente permite 
Operaciones de selección. 
 
3. Native SQL , es un lenguaje Orientado Totalmente a SQL, permite CRUD, la  
 
4. SQL nombradas, es un lenguaje orientado a Sql , su declaración debe ser en el 
archivo de mapeo, su uso es para situaciones en la cual se requieren muchas 
instrucciones sql de un solo tipo. 
 
Declaración y Acceso de Consultas en Hibernate: 
 
HQL: dentro del identificador createQuery se ingresa la consulta SQL, pero se debe tener 
cuidado, debido a que no acepta el identificador * , por lo que es necesario crear un alias. 
El identificador setLong, permite modificar un valor dinámicamente, en este ejemplo se 
observa el valor 0 que representa al primer símbolo “?” que se encuentra, una vez 
realizada la consulta de obtiene la query en una lista. 
 
Criteria API 
Para la utilización de esta técnica es necesario declarar que es de tipo Criteria , con el 
método createCriteria,dentro de esta como atributos se define la clase a la cual se hará 
referencia, el método add, restrictions , nos permiten acotar la búsqueda, existen muchos 
métodos que se pueden conjugar con Restrictions, luego el método eq realiza una 
comparación del “atributo”, y algún valor obtenido, finalmente se obtiene el resultado en 
una lista. 
 
Native SQL 
 
Orientado totalmente a SQL se necesita declarar el método createSQLQuery, para 
indicar que se utilizara este método,como argumentos recibe la consulta SQL y addEntity 
hace referencia a la clase que se utilizará. 
 
 
SQL Nombradas 
 
Para esta técnica es necesario escribir dentro del archivo de mapeo XML la sentencia 
<sql­query name=”nombre de la consulta”> y el valor de retorno con la sentencia return, 
luego de esto se escribe la consulta SQL, para luego finalizar con el cierre de la etiqueta 
inicial. 
 
Para invocar esta consulta se necesita escribir la última sentencia de la imagen, haciendo 
referencia con el método getNameQuery(“nombre de consulta”). 
 
 
 
 
 
 
IV. Conclusión
 
La técnica de programación de mapeo objeto relacional (ORM), es esencial en los                         
tiempos actuales debido a que la mayoría de los lenguajes de programación poseen un                           
paradigma orientado a objeto, además entrega el soporte necesario para poder utilizar la                         
persistencia de datos, en base de datos relacionales, las cuales ocupan un gran campo                           
en el mercado actual y tiene el soporte necesario para muchos lenguajes.  
Hibernate, una herramienta ORM con licencia de software libre, creada en base al                         
lenguaje de programación Java, se ha patentado en el negocio de la programación a lo                             
largo de los años dentro de los primeros lugares, entregando la flexibilidad necesaria                         
para realizar persistencia de programas orientados a objetos, esto a través de una capa                           
virtual que se posiciona sobre la BD relacional, además Hibernate plantea una estructura                         
que permite la rigurosidad necesaria para diseñar programas altamente funcionales, sin                     
limitar el procesamiento de datos. 
A pesar de los inconvenientes con el mapeo mediante el archivo XML creemos que con 
hibernate si la base de datos ya esta creada y se tiene un ORM no nos haría falta tener 
un modelo en adelante de las uniones de las tablas, bastaría con conocer que objetos 
deberíamos invocar y apartir de ahi trabajar sobre la base de datos por lo que se llega a 
la independencia de los distintos SQL , por lo que no tendríamos que pensar en el SQL 
de Mysql o el SQL de Oracle por ejemplo, cuando se quiera cambiar el gestor de bases 
de datos y modificar todas las consultas por lo que  logra abstraerse de los 
particularidades de un tipo de bases de datos, sin embargo técnicamente no significa que 
no se tenga que aprender una base de datos como en el caso de que si queremos hacer 
un cambio a nivel de tabla ahi nos vemos obligados a  conocer la base de datos como 
también en el caso de llamadas especiales se debe bajar a usar SQL en la base de datos 
directamente. 
 
 
   
V. Bibliografía
 
❏ Chapter 2. Tutorial Using Native Hibernate APIs andhbm.xml Mappings.                 
Recuperado de:   
https://docs.jboss.org/hibernate/orm/3.6/quickstart/en­US/html/hibernate­gsg­tutori
al­basic.html 
 
❏ Hibernate Tutorial. Recuperado de:       
http://www.tutorialspoint.com/hibernate/index.htm 
 
❏ Chapter 3. Configuration. Recuperado de: 
https://docs.jboss.org/hibernate/orm/3.3/reference/en­US/html/session­configuratio
n.html 
 
❏ Capítulo 9: Mapeo de Herencias. Recuperado de: 
https://docs.jboss.org/hibernate/orm/3.5/reference/es­ES/html/inheritance.html 
 
❏ Generator classes in Hibernate. Recuperado de: 
http://www.javatpoint.com/generator­classes 
 
 
VI. Anexos

More Related Content

What's hot

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorMicael Feliz Arias
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas OperativosG Hoyos A
 
Glosario de base de datos
Glosario de base de datosGlosario de base de datos
Glosario de base de datospaola584
 
Herramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHerramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHectlys Piña
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos DistribuidasJorge Guerra
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosFernando Morales
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareJesenia Escobar
 

What's hot (20)

Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Gestión de archivos
Gestión de archivosGestión de archivos
Gestión de archivos
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Glosario de base de datos
Glosario de base de datosGlosario de base de datos
Glosario de base de datos
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
 
Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 
Volley vs Retrofit
Volley vs RetrofitVolley vs Retrofit
Volley vs Retrofit
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Herramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente ServidorHerramientas de Programacion Cliente Servidor
Herramientas de Programacion Cliente Servidor
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos Distribuidas
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
Lenguaje PHP
Lenguaje PHPLenguaje PHP
Lenguaje PHP
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 

Similar to Orm final

Mapeo objeto relacional
Mapeo objeto relacionalMapeo objeto relacional
Mapeo objeto relacionalIsabelAlisson
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacionalInspirate Unaula
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxssuser948499
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMsmaxfontana90
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacionalInspirate Unaula
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetosLeo Ramirez
 
Tema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetosTema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetosSara Naminao Cayuqueo
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Ezer Ayala Mutul
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño IIkaolong
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradawinny_arias
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaKurt_williams
 

Similar to Orm final (20)

Mapeo objeto relacional
Mapeo objeto relacionalMapeo objeto relacional
Mapeo objeto relacional
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacional
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptx
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMs
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacional
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetos
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Nhibernate
NhibernateNhibernate
Nhibernate
 
Trabajo bdoo
Trabajo bdooTrabajo bdoo
Trabajo bdoo
 
Lumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdfLumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdf
 
Tema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetosTema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetos
 
Basededatos.pdf
Basededatos.pdfBasededatos.pdf
Basededatos.pdf
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Estructuta de datos
Estructuta de datosEstructuta de datos
Estructuta de datos
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 

More from 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
 

More from 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 presentación final
Orm presentación finalOrm presentación final
Orm presentación 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 final