Arquitectura de hibernación

Prerrequisitos: Introducción de Hibernate

Hibernate: Hibernate es un marco que se utiliza para desarrollar una lógica de persistencia que es independiente del software de base de datos. En JDBC para desarrollar lógica de persistencia tratamos con tipos primitivos. Mientras que el marco de Hibernate usamos Objetos para desarrollar una lógica de persistencia que es independiente del software de la base de datos.

Arquitectura de hibernación:

Configuración:

  • La configuración es una clase que está presente en el paquete org.hibernate.cfg. Activa el marco de Hibernate. Lee tanto el archivo de configuración como los archivos de mapeo.
    It activate Hibernate Framework
    Configuration cfg=new Configuration();
    It read both cfg file and mapping files
    cfg.configure();
    
  • Comprueba si el archivo de configuración es sintácticamente correcto o no.
  • Si el archivo de configuración no es válido, generará una excepción. Si es válido, crea metadatos en la memoria y los devuelve al objeto para representar el archivo de configuración.

Fábrica de sesiones:

  • SessionFactory es una interfaz que está presente en el paquete org.hibernate y se usa para crear objetos de sesión.
  • Es inmutable y de naturaleza segura para subprocesos.
    buildSessionFactory() method gathers the meta-data which is in the cfg Object. 
    From cfg object it takes the JDBC information and create a JDBC Connection.
    SessionFactory factory=cfg.buildSessionFactory();
    

Sesión:

  • La sesión es una interfaz que está presente en el paquete org.hibernate. El objeto de sesión se crea en función del objeto SessionFactory, es decir, la fábrica.
  • Abre la conexión/sesión con el software de base de datos a través de Hibernate Framework.
  • Es un objeto liviano y no es seguro para subprocesos.
  • El objeto de sesión se utiliza para realizar operaciones CRUD.
    Session session=factory.buildSession();
    

Transacción:

  • El objeto de transacción se usa cada vez que realizamos una operación y, en función de esa operación, hay algún cambio en la base de datos.
  • El objeto de transacción se utiliza para dar instrucciones a la base de datos para que realice los cambios que se producen debido a la operación como permanente mediante el uso del método commit().
    Transaction tx=session.beginTransaction();
    tx.commit();
    

Consulta:

  • Query es una interfaz que se presenta dentro del paquete org.hibernate.
  • Una instancia de Query se obtiene llamando a Session.createQuery().
  • Esta interfaz expone algunas funciones adicionales además de las proporcionadas por Session.iterate() y Session.find():
    1. Se puede seleccionar una página particular del conjunto de resultados llamando a setMaxResults(), setFirstResult().
    2. Se pueden utilizar parámetros de consulta con nombre.
Query query=session.createQuery();

Criterios:

  • Criteria es una API simplificada para recuperar entidades mediante la composición de objetos Criterion.
  • La Sesión es una fábrica de Criterios. Las instancias de criterio generalmente se obtienen a través de los métodos de fábrica en Restricciones.
Criteria criteria=session.createCriteria();

Flujo de trabajo durante la operación en Hibernate Framework:

Supongamos que queremos insertar un objeto en la base de datos. Aquí Object no es más que lógica de persistencia que escribimos en el programa Java y creamos un objeto de ese programa. Si queremos insertar ese objeto en la base de datos o queremos recuperar el objeto de la base de datos. Ahora la pregunta es cómo hibernar guarda el objeto en la base de datos o recupera el objeto de la base de datos. Hay varias capas a través de las cuales Hibernate framework pasa para lograr la tarea anterior. Entendamos las capas/flujo del marco de Hibernate durante la realización de operaciones:

Etapa I: en la primera etapa, escribiremos la lógica de persistencia para realizar algunas operaciones específicas en la base de datos con la ayuda del archivo de configuración de Hibernate y el archivo de mapeo de Hibernate. Y después de eso, creamos un objeto de la clase particular en la que escribimos la lógica de persistencia.

Etapa II: En la segunda etapa, nuestra clase que contiene la lógica de persistencia interactuará con el marco de hibernación donde el marco de hibernación brinda cierta abstracción para realizar alguna tarea. Ahora aquí la imagen de la clase Java ha terminado. Ahora Hibernate es responsable de realizar la lógica de persistencia con la ayuda de capas que se encuentran debajo del marco de Hibernate o podemos decir que las capas son la implementación interna de Hibernate.

Etapa III: en la tercera etapa, nuestro marco de hibernación interactúa con JDBC, JNDI, JTA, etc. para ir a la base de datos para realizar esa lógica de persistencia.

Etapa IV y V: en la cuarta y quinta etapa, hibernación interactúa con la base de datos con la ayuda del controlador JDBC. Ahora aquí hibernate realiza esa lógica de persistencia que no es más que una operación CRUD . Si nuestra lógica de persistencia es recuperar un registro, en orden inverso se mostrará en la consola de nuestro programa Java en términos de Objeto.

Publicación traducida automáticamente

Artículo escrito por Bishal Kumar Dubey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *