Diferencia entre JDBC y Hibernate

Diferencia entre JDBC y Hibernate

JDBC VS. Hibernar

La conectividad de la base de datos Java (también conocida como JDBC) es una API específicamente construida para el lenguaje de programación Java. Define cómo un cliente puede acceder a una base de datos proporcionando métodos para consultar y actualizar datos en una base de datos. Está orientado más específicamente hacia bases de datos relacionales. Primero se introdujo en el mercado como parte de la plataforma Java 2, Standard Edition, versión 1.1 (o J2SE). Se agrupó junto con una implementación de referencia JDBC al puente ODBC, lo que permite conexiones con la API a cualquier fuente de datos accesible de ODBC en el entorno de host JVM en el JVM.

Hibernate es una biblioteca de mapeo orientada a objetos (o biblioteca ORM) construida específicamente para el idioma Java. Proporciona un marco para mapear un modelo de dominio orientado a objetos a una base de datos relacional tradicional. También resuelve problemas de desajuste de impedancia relacional de objetos: es decir, problemas en los que un sistema o estilo de programación orientado a objetos está utilizando un sistema de gestión de bases de datos relacionales (o RDBMS) escrito en un lenguaje o estilo de programación orientado a objetos. Logra esto reemplazando los accesos de base de datos relacionados con la persistencia directa con funciones de manejo de alto nivel. Es un software gratuito de código abierto y se distribuye bajo la Licencia Pública General Menor de GNU.

JDBC funciona permitiendo que existan una variedad de implementaciones y utilizada por la misma aplicación. Proporciona un mecanismo por el cual los paquetes Java correctos se cargan dinámicamente y se registran con el administrador de controladores JDBC, que se utiliza como una fábrica de conexión, que crea conexiones JDBC. Estas conexiones admiten la creación y ejecución de declaraciones. Pueden ser declaraciones de actualización (el SQLS crea, inserta, actualiza y elimina, por ejemplo). También pueden ser declaraciones de consulta como selección. Una conexión JDBC también puede invocar procedimientos almacenados, es decir, aquellos procedimientos que se almacenan en el Diccionario de datos de la base de datos.

Hibernate principalmente funciones para mapear de clases de Java a tablas de bases de datos, así como de tipos de datos Java a tipos de datos SQL. También proporciona consultas de datos e instalaciones de recuperación. Es capaz de generar llamadas SQL, aliviando así al desarrollador desde el manejo del conjunto de resultados manuales y la conversión de objetos. Esto mantiene la aplicación portátil a todas las bases de datos SQL que son compatibles con la biblioteca. Mapea las clases de Java en las tablas de la base de datos configurando un archivo XML (en el que Hibernate puede generar código fuente esquelético para las clases de persistencia) o utilizando la anotación Java (que hace que la acción anterior sea moteada). Hibernate también admite la asignación de tipos de valor personalizado, lo que hace posible tres escenarios específicos: anular el tipo SQL predeterminado, elegido por Hibernate al asignar una columna a una propiedad; mapeo de Java enum a columnas como si fueran propiedades regulares; y mapear una sola propiedad a múltiples columnas.

Resumen:

1. JDBC es una API que define cómo un cliente puede acceder a una base de datos; Hibernate es una biblioteca ORM que proporciona un marco para mapear un modelo de dominio orientado a objetos a una base de datos relacional tradicional.

2. JDBC permite que existan diversas implementaciones y utilizan por la misma aplicación; Mapas de hibernación de clases de Java a tablas de bases de datos.