Différence entre JDBC et Hibernate Différence entre

Anonim

JDBC vs. Hibernate

Java Database Connectivity (é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 d'interrogation et de mise à jour des données dans une base de données. Il est orienté plus spécifiquement vers les bases de données relationnelles. Il a été introduit sur le marché dans le cadre de la plate-forme Java 2, Standard Edition, version 1. 1 (ou J2SE). Il était associé à un pont JDBC vers ODBC d'implémentation de référence, permettant des connexions avec l'API à n'importe quelle source de données accessible ODBC dans l'environnement hôte JVM.

Hibernate est une bibliothèque de mapping orientée objet (ou bibliothèque ORM) spécialement conçue pour le langage Java. Il fournit un cadre pour mapper un modèle de domaine orienté objet à une base de données relationnelle traditionnelle. Elle résout également les problèmes d'incompatibilité d'impédance relationnelle d'objet, c'est-à-dire les problèmes dans lesquels un système de gestion de base de données relationnelle (ou RDBMS) est utilisé par un programme écrit dans un langage ou style de programmation orienté objet. Il accomplit cela en remplaçant les accès directs à la base de données liés à la persistance par des fonctions de gestion de haut niveau. Il s'agit d'un logiciel libre et open source distribué sous la licence GNU Lesser General Public License.

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 par lequel les packages Java corrects sont chargés dynamiquement et enregistrés auprès du gestionnaire de pilotes JDBC, qui est en quelque sorte utilisé comme fabrique de connexions et qui crée des connexions JDBC. Ces connexions prennent en charge la création et l'exécution des instructions. Ils peuvent être des instructions de mise à jour (les instructions SQL CREATE, REPLACE, UPDATE et DELETE, par exemple). Ils peuvent également être des instructions de requête telles que SELECT. Une connexion JDBC peut également appeler des procédures stockées, c'est-à-dire les procédures stockées dans le dictionnaire de données de la base de données.

Hibernate sert principalement à mapper des classes Java aux tables de base de données, ainsi que des types de données Java aux types de données SQL. Il fournit également des fonctionnalités de recherche et de récupération de données. Il est capable de générer des appels SQL, soulageant ainsi le développeur de la gestion manuelle des jeux de résultats et de la conversion des objets. Cela permet de conserver l'application dans 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 du code source squelette pour les classes de persistance) ou en utilisant Java Annotation (ce qui rend la première action sans objet). Hibernate prend également en charge le mappage des types de valeurs personnalisés, ce qui rend possible trois scénarios spécifiques: le remplacement du type SQL par défaut, choisi par Hibernate lors du mappage d'une colonne à une propriété; mappage de Java Enum aux colonnes comme s'il s'agissait de propriétés régulières; et mappage d'une seule propriété à 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 pour mapper un modèle de domaine orienté objet à une base de données relationnelle traditionnelle.

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