Hibernate referencia
Fecha de creación: 21.03.2003 Revisión 1.0 (22.04.2003) Héctor Suárez González (hsg arroba telecable punto es)
http://www.javaHispano.org
Copyright (c) 2003, Héctor Suárez González. Este documento puede ser distribuido solo bajo los términos y condiciones de la licencia de Documentación de javaHispano v1.0 o posterior (la última versión se encuentra enhttp://www.javahispano.org/licencias/).
Manual Hibernate
Manual Hibernate
Presentación del tutorial.
. Logo de Hibernate
La intención de este tutorial es introducir al lector en el uso del framework Hibernate. A través del mismo se irán desarrollando diversos ejemplos y se propondrán ejercicios para su resolución. El objetivo último es que el lector pueda desarrollar un pequeña aplicación donde la capade persistencia se utilizará para el acceso a la base de datos. Este objetivo se encuentra dividido en pequeños pasos : 1. Capas de persistencia y posibilidades que estas ofrecen. 2. Que es hibernate. Estructura de una arquitectura base. 3. Mapas de objetos relacionales en ficheros XML. Hasta aqui trataremos en este primer documento, posteriormente afrontaremos los demas puntos. 4. Generación deCódigo y Bases de Datos. 5. Utilización del API Hibernate. 6. HSQL. El lenguaje sql de Hibernate 7. Posibles arquitecturas y ejemplos implementados 8. Conclusiones 9. Posibles ejercicios
1. Capítulos.
Se esperá que el lector de este documento tenga conocimientos básicos de Hiberante. Dichos conocimientos se pueden obtener a través de la Guía hacia Hibernate [2] disponible en javaHispano.
1.Capas de persistencia y posibilidades que estas ofrecen.
NOTA: Esta primera parte es de introducción al concepto de capa de persistencia, por lo tanto es bastante teórica.
En el diseño de una aplicación ( me referiré a una aplicación a desarrollar utilizando Java ) una parte muy importante es la manera en la cual accedemos a nuestros datos en la base de datos ( en adelante BBDD ) determinaresta parte se convierte en un punto
Página 2
Manual Hibernate
crítico para el futuro desarrollo. La manera tradicional de acceder seria a través de JDBC directamente conectado a la BBDD mediante ejecuciones de sentencias SQL:
1. Sentencias SQL directas
Esta primera aproximación puede ser útil para proyectos o arquitecturas sin casi clases de negocio, ya que el mantenimiento del códigoesta altamente ligado a los cambios en el modelo de datos relacional de la BBDD, un mínimo cambio implica la revisión de casi todo el código así como su compilación y nueva instalación en el cliente. Aunque no podemos desechar su utilidad. El acceso a través de SQL directas puede ser utilizado de manera puntual para realizar operaciones a través del lenguaje SQL lo cual seria mucho mas efectivo quela carga de gran cantidad de objetos en memoria. Si bien un buen motor de persistencia debería implementar mecanismos para ejecutar estas operaciones masivas sin necesidad de acceder a este nivel. Una aproximación mas avanzada seria la creación de unas clases de acceso a datos ( DAO Data Acces Object). De esta manera nuestra capa de negocio interactuaría con la capa DAO y esta sería la encargadade realizar las operaciones sobre la BBDD.
2. Ejemplo de DAO (Data Access Object
Los problemas de esta implementación siguen siendo el mantenimiento de la misma así como su portabilidad. Lo único que podemos decir es que tenemos el código de transacciones encapsulado en las clases DAO. Un ejemplo de esta arquitectura podría ser Microsoft ActiveX Data Object (ADO). Y como encaja Hibernate entodo esto?. Lo que parece claro es que debemos separar el código de nuestras clases de negocio de la realización de nuestras sentencias SQL
Página 3
Manual Hibernate
contra la BBDD. Por lo tanto Hibernate es el puente entre nuestra aplicación y la BBDD, sus funciones van desde la ejecución de sentencias SQL a través de JDBC hasta la creación, modificación y eliminación de objetos...
Regístrate para leer el documento completo.