Sei sulla pagina 1di 25

HIBERNATE

Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Ao 2010

HIBERNATE
El trabajar con software orientado a objetos y con una base de datos relacional puede llegar a ser engorroso y puede llegar a tomar bastante tiempo en los entornos empresariales de hoy en da. Hibernate es una herramienta de mapeo objeto/relacional (ORM) para entornos Java. El trmino de mapeo objeto/relacional (ORM) se refiere a la tcnica de mapear una representacin de datos desde un modelo de objeto a un modelo de datos relacionales con un esquema basado en SQL.

HIBERNATE

Hibernate es una herramienta de Mapeo Objeto Relacional que facilita el mapeo de atributos entre una base de datos relacional tradicional como Oracle, Postgres, etc. y el modelo de objetos de una aplicacin, mediante archivos declarativos (XML) que permiten establecer estas relaciones. Hibernate es software libre, distribuido bajo los trminos de la licencia GNU LGPL.

HIBERNATE

Se ocupa del mapeo desde las clases Java a las tablas de las bases de datos Mapeo desde los tipos de datos de Java a los tipos de datos de SQL Facilita la consulta y recuperacin de datos Esto puede reducir de manera importante el tiempo de desarrollo que se tomara con el manejo de datos de forma manual en SQL y JDBC.HIBERNATE usa de soporte JDBC

ARCHIVOS NECESARIOS PARA IMPLEMENTAR HIBERNATE

1-El archivo de configuracion de Hibernate: hibernate.cfg.xml 2-Los archivos de mapeo: Cliente.hbm.xml;Producto.hbm.xml 3-HibernateUtil.java: creamos una clase HibernateUtil que se encargue del inicio de sesion y haga ms prctico el acceso a org.hibernate.SessionFactory. 4-POJOs: Cliente.java;Producto.java

Hibernate funciona asociando a cada tabla de la base de datos un Plain Old Java Object (POJO, a veces llamado Plain Ordinary Java Object). Un POJO es similar a una Java Bean, con propiedades accesibles mediante mtodos setter y getter, como las clases de dominio que venamos haciendo, ej: Cliente.java y Producto.java

HIBERNATE CON NETBEANS

ESTRUCTURA ELEGIDA PARA NUESTRO PROYECTO

Archivo de Configuracion de Hibernate Interfaces DAO Data AccessObject: desarrollan

los mtodos de la interface mediante

el uso de hibernate

Los archivos de mapeo (.hbm.xml)

y POJOs (.java)

HibernateUtil.java

1- Archivo de Configuracin: hibernate.cfg.xml

1- Archivo de Configuracin: hibernate.cfg.xml

Este campo nos indica que hay un archivo llamado OracleDialect ubicado en el paquete org.hibernate.dialect de la biblioteca Hibernate; el cual posee la relacin entre los tipos de datos de la base de datos Oracle y los tipos de datos de JAVA. Es el encargado de que el mapeo de ambos tipos de datos se realice de forma correcta

1- Archivo de Configuracin: hibernate.cfg.xml

Mapping lo agrega Netbeans despues de crear los hbm.xml

2-Los archivos de mapeo: Cliente.hbm.xml

2-Los archivos de mapeo: Cliente.hbm.xml

2-Los archivos de mapeo: Cliente.hbm.xml

2-Los archivos de mapeo: Cliente.hbm.xml

Si Netbeans no hace el mapeo completo, hay que agregarlo manualmente:

2-Los archivos de mapeo: Cliente.hbm.xml


<generator>: indica que se esta usando un generador de clave que es una secuencia propia de la base de datos y su nombre es CLIENTES_SEQ

tag <id>: Este tag permite mapear la clave primaria de la tabla Clientes con el atributo correspondiente de la clase Cliente.java:

Los name siempre se referirn a atributos de clases mientras que los column son los campos de la tabla. En los property van los mapeos de los atributos de la clase con respecto a los campos de la tabla

2-Los archivos de mapeo: Cliente.hbm.xml

Si no recuerda los nombres de las secuencias de sus campos clave:

3-HibernateUtil.java

Vamos a crear una clase de ayuda HibernateUtil que se encargue del inicio y haga ms prctico el acceso a org.hibernate.SessionFactory.

3-HibernateUtil.java

3-HibernateUtil.java

Esto simplemente construye la configuracin de Hibernate a partir del archivo hibernate.cfg.xml.

Hasta aqu Netbeans nos ayudo con el trabajo, ahora implementaremos el patrn DAO y desarrollaremos los mtodos requeridos.

4-POJOs: Cliente.java

Con sus respectivos setters y getters

5-Interfaces: ClienteDAO.java

6- Data Access Object: ClienteDAOImpl.java

6- Data Access Object: otro ejemplo

Usamos una Clase Criteria. En hibernate las consultas se hacen usando HQL que es la sigla de Hibernate Query Language, que es un lenguaje de consulta sobre objetos, a diferencia de SQL que se aplica sobre entidades de bases de datos. Criteria es una API que permite realizar consultas generales de una forma sencilla, que por atrs usa tambin HQL. Es como si fuera un asistente de consultas HQL que se realizan de forma ms sencilla En la lnea donde se crea criteria vemos que le pasamos como parmetro la Clase Persona, es decir las consultas que haga criteria se harn sobre la Clase Persona Podemos usar la Clase Order para indicar que el resultado se ordene por algn atributo de la clase Persona

6- Data Access Object: otro ejemplo

Estos son ejemplos de mtodos insert, update, delete, getPersona, deber reemplazar la clase por la que requiera su interface.

Vemos que es similar al getAll ya que usa Criteria, pero usa Restrictions, que es una clase con mtodos para indicar que un atributo sea mayor, menor, igual, etc. En este caso indicamos que el atributo idPersona sea igual al valor de idPersona que viene como parmetro en el mtodo.

Potrebbero piacerti anche