Différence entre JDBC et Hibernate

JDBC vs. Hibernate

La connectivité de base de données Java (également appelée JDBC) est une API spécialement conçue pour le langage de programmation Java. Il définit comment un client peut accéder à une base de données en fournissant des méthodes permettant d'interroger et de mettre à jour des données dans une base de données. Il est plus spécifiquement orienté vers les bases de données relationnelles. Il a été introduit sur le marché en tant que composant de la plate-forme Java 2, Standard Edition, version 1.1 (ou J2SE). Il était associé à un pont JDBC vers ODBC à implémentation de référence, permettant ainsi des connexions avec l'API à toute source de données accessible ODBC dans l'environnement hôte JVM..

Hibernate est une bibliothèque de cartographie orientée objet (ou bibliothèque ORM) spécialement conçue pour le langage Java. Il fournit un cadre permettant de mapper un modèle de domaine orienté objet vers une base de données relationnelle traditionnelle. Il résout également les problèmes de discordance d'impédance relationnelle entre objets, c'est-à-dire les problèmes dans lesquels un système de gestion de base de données relationnelle (ou SGBDR) est utilisé par un programme écrit dans un style ou un langage de programmation orienté objet. Pour ce faire, il remplace les accès à la base de données liés à la persistance directe par des fonctions de traitement de haut niveau. C'est un logiciel gratuit et open source distribué sous la licence GNU Lesser General Public..

JDBC fonctionne en permettant à une variété d'implémentations d'exister et d'être utilisées par la même application. Il fournit un mécanisme permettant de charger dynamiquement les packages Java appropriés et de les enregistrer avec le gestionnaire de pilotes JDBC, qui est utilisé comme une fabrique de connexions qui crée des connexions JDBC. Ces connexions prennent en charge la création et l'exécution d'instructions. Il peut s'agir d'instructions de mise à jour (les SQL CREATE, INSERT, UPDATE et DELETE, par exemple). Il peut également s'agir d'instructions de requête telles que SELECT. Une connexion JDBC peut également invoquer des procédures stockées, à savoir les procédures stockées dans le dictionnaire de données de la base de données..

Hibernate permet principalement de mapper des classes Java aux tables de bases de données, ainsi que des types de données Java aux types de données SQL. Il fournit également des fonctions d'interrogation et de récupération de données. Il est capable de générer des appels SQL, évitant ainsi au développeur de gérer manuellement les ensembles de résultats et de convertir les objets. Cela permet de garder l'application portable sur toutes les bases de données SQL prises en charge par la bibliothèque. Il mappe les classes Java aux tables de la base de données en configurant un fichier XML (dans lequel Hibernate est capable de générer un code source squelettique pour les classes de persistance) ou en utilisant une annotation Java (rendant l'ancienne action inutile). Hibernate prend également en charge le mappage des types de valeur personnalisés, ce qui permet trois scénarios spécifiques: remplacer le type SQL par défaut, choisi par Hibernate lors du mappage d'une colonne sur une propriété; mapper Java Enum sur des colonnes comme s'il s'agissait de propriétés normales; et mapper une propriété unique sur plusieurs colonnes.

Résumé:

1. JDBC est une API qui définit comment un client peut accéder à une base de données. Hibernate est une bibliothèque ORM qui fournit un cadre permettant de mapper un modèle de domaine orienté objet vers une base de données relationnelle traditionnelle..

2. JDBC permet à différentes implémentations d’exister et d’être utilisées par la même application; Hibernate mappe des classes Java aux tables de bases de données.