Hibernate - ¿Que es HIBERNATE? - Arquitectura de Hibernate - Objeto de Configuración Hibernate

Buenos días hoy vamos a comenzar a ver Hibernate, un framework bastante poderoso.

¿Que es HIBERNATE?


¿Que es HIBERNATE?


Hibernate  básicamente es un framework ORM desarrollado en java,  dejo link de explicación de ORM , su función principal es facilitarnos la vida a la hora de programar y persistir información, este framework se puede decir que es un motor de persistencia.


Usa el mecanismo de reflexión de Java, que permite a un objeto en ejecución examinarse y manipularse a sí mismo, en contra de, por ejemplo, JDO, que necesita que modifiquemos los archivos de las clases.


Arquitectura de Hibernate

La arquitectura mínima de Hibernate es mas o menos así:

Arquitectura de Hibernate
Se crea una capa entre la base de datos y la aplicación. Carga los detalles de la configuración, como la cadena de conexión de base de datos, clases de entidad, asignaciones, etc 


Hibernate crea objetos persistentes que sincronizan los datos entre la aplicación y la base de datos.

Arquitectura de Hibernate


Hibernate utiliza varios API de Java existentes, como JDBC, Java Transacción API (JTA), y Java Naming and Directory Interface (JNDI). JDBC proporciona un nivel rudimentario de la abstracción de la funcionalidad común a las bases de datos relacionales, lo que permite casi cualquier base de datos con un driver JDBC que sea implementada en Hibernate. JNDI y JTA permiten Hibernate para ser integrado con servidores de aplicaciones J2EE. 


El diagrama de arriba muestra una arquitectura completa de Hibernate. Con el fin de conservar los datos a una base de datos, Hibernate crear una instancia de clase de entidad (clase Java mapeado con la capa de base de datos). Este objeto se llama objeto transitorio, ya que aún no están asociados con la sesión o no conservan en una base de datos. Para guardar el objeto de base de datos, se crea la instancia de la interfaz SessionFactory. SessionFactory es una instancia singleton que implementa el patrón de diseño de Factory. Cargas SessionFactory hibernate.cfg.xml archivo (archivo de configuración de Hibernate y con la ayuda de TransactionFactory y ConnectionProvider implementa todos los ajustes de configuración en una base de datos.

Cada conexión de base de datos en Hibernate se crea mediante la creación de una instancia de la interfaz Session. Sesión representa una única conexión con la base de datos. Objetos de sesión se crean a partir de objetos SessionFactory.



Objeto de Configuración Hibernate

El objeto de configuración es el primer objeto de Hibernate que se crea en cualquier aplicación que utilice Hibernate y generalmente se crea una sola vez durante la inicialización de la aplicación. Representa un archivo de configuración o propiedades requeridas por  Hibernate. El objeto de configuración proporciona dos componentes claves: 

Conexión de base de datos: Esto se maneja a través de uno o más archivos de configuración soportadas por Hibernate. Estos archivos son hibernate.properties y hibernate.cfg.xml. 

Configuración de Mapeo Clase:

Este componente crea la conexión entre las clases de Java y tablas de la base de datos.




Objeto SessionFactory:
Objeto de configuración se utiliza para crear un objeto SessionFactory para la aplicación que utiliza el archivo de configuración suministrada y permite un objeto Session ser ejecutado. El SessionFactory es un objeto seguro para subprocesos y utilizado por todos los hilos de una aplicación.

El SessionFactory es objeto pesado por lo que normalmente se crea durante la aplicación puesta en marcha y mantenido para su uso posterior. Tendrían un objeto SessionFactory por la base de datos utilizando un archivo de configuración independiente. Si estamos  utilizando múltiples bases de datos, entonces tendríamos que crear varios objetos SessionFactory.

Objeto Session:
Una Session se utiliza para obtener una conexión física con una base de datos. El objeto Session es ligero y está diseñado para ejecutarse cada vez que se necesita una interacción con la base de datos. Objetos persistentes se guardan y se recuperan a través de un objeto Session.

Los objetos de sesión no deben mantenerse abiertas durante mucho tiempo, ya que no suelen ser seguros para subprocesos y deben ser creados y destruidos, según sea necesario.

Objeto Transaction:
Una transacción representa una unidad de trabajo con la base de datos y la mayoría de los RDBMS soporta la funcionalidad de transacción. Las transacciones en Hibernate son manejados por un administrador de base de transacciones y las transacciones (de JDBC o JTA).

Este es un objeto opcional y las aplicaciones de Hibernate puede optar por no utilizar esta interfaz, en lugar gestionar las transacciones en su propio código de la aplicación.

Objeto Query:
Objetos de consulta utilizan SQL o Hibernate Query Language (HQL) cadena para recuperar datos de la base de datos y crear objetos. Una instancia de consulta se utiliza para enlazar los parámetros de consulta, limitar el número de resultados devueltos por la consulta, y finalmente, para ejecutar la consulta.

Objeto Criteria:

Los objetos Criteria se utilizan para crear y ejecutar consultas con objetos y recuperar objetos.
Hibernate - ¿Que es HIBERNATE? - Arquitectura de Hibernate - Objeto de Configuración Hibernate Hibernate - ¿Que es HIBERNATE? - Arquitectura de Hibernate - Objeto de Configuración Hibernate Reviewed by El lado oscuro de java on junio 09, 2014 Rating: 5

3 comentarios:

  1. Muchas gracias por el aporte de compartir tu conocimiento.
    Me ayudo a entender lo que es un Hibernate.
    Continua así...
    Saludos... :)

    ResponderEliminar

Con la tecnología de Blogger.