Introducción a la sesión de hibernación
Hay muchos lenguajes de programación orientados a objetos que tienen sus propias sintaxis y bibliotecas, mientras que, por otro lado, todos los datos que almacenamos en el back-end se basan en el modelo relacional que tiene protocolos y sintaxis completamente diferentes a seguir. Hibernate es una de las plataformas de middleware para cerrar esta brecha. A esta aplicación de middleware la llamé Object Relational Mapping (ORM). Tenemos varias herramientas ORM como Hibernate, IBatis, Toplink y muchas más. En este artículo, nos centraremos en Hibernate y sus sesiones.
¿Qué es hibernate?
Es la herramienta ORM utilizada para vincular y asignar los objetos en la capa de aplicación a la base de datos para el lenguaje de programación JAVA. Está construido para manejar la falta de coincidencia de impedancia entre un lenguaje de programación típico y la base de datos relacional. Es un software gratuito con una licencia GNU, se puede descargar fácilmente de Internet.
Hibernate es una extensión de la API de persistencia JAVA. Es compatible con el lenguaje de consulta Hibernate (HQL). La función principal de Hibernate es vincular los objetos y las clases JAVA con las clases de la base de datos a través de la estructura XML o las anotaciones JAVA. Del mismo modo, los tipos de datos de JAVA deben coincidir con los tipos de datos de la base de datos para que haya una falta de comunicación entre dos sistemas diferentes. Hibernate se puede utilizar para extraer los datos mediante consultas. Puede generar las llamadas SQL y, por lo tanto, mitiga los errores manuales y el trabajo del desarrollador. Hay diferentes funciones incorporadas en hibernación para facilitar su uso como:
load (), update (), get (), merge (): si estamos seguros de que el objeto existe, usamos esta función para cargar el objeto de hibernación; de lo contrario, usamos la función get (). Las funciones de actualización y combinación se utilizan para actualizar los registros de la base de datos en función de las sesiones actuales que ya existen o somos sesiones totalmente nuevas para la transacción. Hay muchas más funciones como esta para admitir la hibernación.
¿Qué es la sesión de hibernación?
Es una interfaz de tiempo de ejecución entre una aplicación e Hibernates que se crea a pedido. En otras palabras, proporciona la conectividad entre su aplicación y la base de datos. Ofrece varias funciones, como crear, eliminar, obtener, actualizar para operar en la base de datos mediante el uso de métodos de sesión que existen en cuatro estados, a saber: transitorio, persistente y separado, eliminado.
Hibernate ha creado para servir a este propósito. Conecta sin problemas la base de datos al lenguaje java, independientemente de cualquier base de datos. Viene con características flexibles y, por lo tanto, promueve la flexibilidad de manejo de datos en diferentes plataformas.
Métodos de sesión de hibernación
- Save (): el método Save () genera la clave primaria e inserta el registro en la base de datos. Es similar al método persist () en JPA pero se comporta de manera diferente en una instancia separada al crear el registro duplicado al confirmar la base de datos.
- Update (): Update () se usa para actualizar el registro de la base de datos existente. Devuelve una excepción si el registro no se encuentra o no se llama en una instancia transitoria.
- saveOrUpdate (): guarda o actualiza la base de datos en función de la entidad pasada. No devuelve una excepción en el estado transitorio, pero hace que el estado sea persistente durante una operación de la base de datos.
- merge (): los valores de una entidad separada se actualizan a la base de datos cuando se usa merge () al cambiar la entidad separada al estado persistente.
- delete (): el método Delete funciona en modo persistente para eliminar la entidad de la base de datos. Se devuelve una excepción si no se encuentra ningún registro en la base de datos.
¿Cómo crear una sesión de hibernación?
Para crear una sesión de hibernación, tenemos que cargar las dependencias de hibernación en la biblioteca de la herramienta que está utilizando junto con el conector de la base de datos. Una vez que se cargan estas bibliotecas, podemos establecer la conexión creando una sesión utilizando la fábrica de sesiones.
Supongamos que tenemos una tabla con dos columnas: Id. De empleado y Nombre del empleado que deben actualizarse.
Fragmento de código:
clase pública testclasshibernate // declaración de clase.
(
public static void main (string () args) // La ejecución principal del programa comenzará desde aquí.
(
testprogram = nuevo programa (); // Aquí la clase se objetiva y luego este objeto se usa como referencia para enviar valores como el nombre del empleado y el ID del empleado que deben importarse a la tabla de la base de datos.
program.setEmpId (101);
program.setEmpName ("Usuario1");
Configuración con = nueva Config (). Configure (). AddAnnotedClass testclasshibernate;
// Crear fábrica de sesiones usando la configuración
SessionFactory sf1 = con.buildsessionfactory ();
// El método de sesión abierta proporciona el objeto de la sesión.
Sesión s1 = sf.OpenSession ();
// Transacción de apertura
Transacción t1 = session.beginTransaction ();
session.save (programa de prueba);
tx.commit ();
)
)
Ventajas de la sesión de hibernación
- La sesión de Hibernate cumple con las propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) de la base de datos.
- Su asignación de objetos es consistente y, por lo tanto, reduce muchos errores potenciales y lagunas del código.
- Es independiente de la base de datos, por lo que incluso si hay alguna base de datos como mySQL u Oracle, se puede usar este software.
- No es necesario conocer el SQL, solo el conocimiento básico sobre él debería ayudarlo a comprender cómo funciona.
- Fácil de crear asociaciones y mucha orientación presente en la red. Si Java se usa ampliamente con una asociación a una base de datos a través de la red, c = puede aprovechar al máximo este software si se usa con prudencia.
- El código mínimo cambia cuando hay cambios en las tablas, ya que todo se maneja a través de clases y objetos. La mayoría del código y las funcionalidades son genéricos, lo que lo hace más digno de usar en aplicaciones que tienen mucha dependencia sobre los datos transaccionales.
- Hibernate admite el almacenamiento en caché multinivel, lo que mejora la eficiencia de codificación.
Conclusión
Ha habido una discrepancia histórica de los datos de la base de datos y los datos manejados a través de cualquier lenguaje de programación fuera de la base de datos. Para resolver esto, se diseñó una nueva solución llamada "ORM". Los datos que se almacenan en forma tabular en una base de datos ahora se pueden recuperar de la base de datos y se pueden manejar en forma de objetos en el lenguaje de programación y, por lo tanto, se elimina el uso de consultas SQL.
Artículos recomendados
Esta es una guía para la sesión de Hibernate. Aquí discutimos qué es la hibernación y la sesión de hibernación. junto con métodos y ventajas. También puede consultar los siguientes artículos para obtener más información:
- Hibernate vs JPA
- ¿Qué es CSRF?
- Spring vs Spring Boot
- Hibernate vs JDBC