Hibernate es una capa residente el la JVM que permite asegurar el mapeo de los objetos JAVA ocultos en la JVM en modelos relacionales o modelos de datos. Hibernate permite también la transferencia de clases Java en entidades de datos y por lo tanto la información de objetos en entidades y tablas. Así mismo Hibernate cuenta también con un lenguaje de manipulación de objetos mapeados conocido como HQL. Permite hacer select, Update y Delete en las operaciones de suma, conteo (count), calculo de promedios, etc. Sin embargo, HQL tiene algunas limitaciones, por ejemplo, en el uso de operaciones de Unión.
En su capa más próxima a la base de datos, Hibernate utiliza JDBC (JDBC Template) para comunicarse con la base de datos.
La figura siguiente muestra los componentes de Hibernate utilizando una base de datos y los componentes de configuración para ofrecer al desarrollador JAVA objetos persistentes y asegurar el transporte de datos entre estos objetos y las tablas de la base de datos.
Existen varias herramientas de mapeo relacional/objeto Hibernate en la comunidad Hibernate. Uno de las mas conocidas es Middlegen, cuyo objetivo es el de ayudar al desarrollador a definir de manera completa el mapeo Hibernate.
La sesión Hibernate
Una carga del objeto mapeado (de persistencia) de la base de datos o la actualización (Update, inserción o eliminación) solo se puede hacer si una sesión Hibernate es instanciada. La sesión es una capa representada por la interfaz JAVA org.hibernate.Session
Para un desarrollador de una aplicación JAVA, la actividad Hibernate comienza después de la instrucción
session = sessionFactory.openSession () En el que sessionFactory es un objeto creado por la aplicación y utiliza la conexión JDBC (o JNDI). La actividad Hibernate termina después del llamado del método
session.close () Entre estos dos métodos citados anteriormente, una transacción puede ser ejecutada mediante
session.beginTransaction().
Distribución y principales clases e interfaces
La versión 3 de Hibernate puede ser descargada desde Aquí
Los principales jars son los siguientes:
- Ehcache-1.3.0.jar: Utilizado por hibernate
- Hibernate-3.2.5.ga.jar: Utilizado por hibernate
- Hibernate-annotations-3.3.0.ga.jar: Utilizado para la notación jpa
- Hibernate-commons-annotations-3.3.0.ga.jar: Utilizado para la notación jpa
- Hibernate-entitymanager.jar: Utilizado para la notación jpa
- Hibernate-validator-3.0.0.ga.jar: para la capa de validación por hibernate validator (campos obligatorios, length,..)
La clase org.hibernate.cfg.Configuration
El constructor de Configuración utiliza el fichero de configuración de Hibernate (hibernate.cfg.xml.)
La clase
org.hibernate.HibernateException
Prácticamente todos los métodos Hibernate pueden provocar esta excepción.
Interface org.hibernate.SessionFactory
Es la primera instancia creada al llamar:
new org.hibernate.cfg.Configuration ().configure ().buildSessionFactory (); Permite leer los ficheros hbm (ver parte configuración). Interface org.hibernate.Session Interface org.hibernate.Query Interfaz que permite al desarrollador escribir consultas Hibernate (HQL) utilizando los objetos JAVA de persistencia. Interface org.hibernate.SQLQuery Interfaz que permite al desarrollador escribir consultas SQL. Interface org.hibernate.Transaction Se trata del objeto transacción de Hibernate teniendo como principales funciones las de commit() y de rollback(). Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.