Unterschied zwischen JDBC und Ruhezustand

JDBC vs. Hibernate

Java Database Connectivity (auch als JDBC bezeichnet) ist eine API, die speziell für die Java-Programmiersprache entwickelt wurde. Sie definiert, wie ein Client auf eine Datenbank zugreifen kann, indem er Methoden zum Abfragen und Aktualisieren von Daten in einer Datenbank bereitstellt. Es ist spezifischer auf relationale Datenbanken ausgerichtet. Es wurde erstmals als Teil der Java 2 Platform, Standard Edition, Version 1.1 (oder J2SE) auf dem Markt eingeführt. Es wurde zusammen mit einer JDBC-zu-ODBC-Bridge mit Referenzimplementierung gebündelt, die Verbindungen mit der API zu jeder auf ODBC zugänglichen Datenquelle in der JVM-Hostumgebung ermöglicht.

Hibernate ist eine objektorientierte Mapping-Bibliothek (oder ORM-Bibliothek), die speziell für die Java-Sprache erstellt wurde. Es bietet einen Rahmen für die Zuordnung eines objektorientierten Domänenmodells zu einer traditionellen relationalen Datenbank. Es löst auch die Probleme der relationalen Impedanz von Objekten, d. H. Probleme, bei denen ein relationales Datenbankverwaltungssystem (oder RDBMS) von einem Programm verwendet wird, das in einer objektorientierten Programmiersprache oder einem Programmstil geschrieben ist. Dies wird dadurch erreicht, dass Datenbankzugriffe mit direkter Persistenz durch übergeordnete Verarbeitungsfunktionen ersetzt werden. Es handelt sich um kostenlose Open Source-Software und wird unter der GNU Lesser General Public License vertrieben.

JDBC funktioniert, indem eine Vielzahl von Implementierungen vorhanden ist und von derselben Anwendung verwendet wird. Sie bietet einen Mechanismus, durch den die richtigen Java-Pakete dynamisch geladen und mit dem JDBC-Treibermanager registriert werden, der als Verbindungsfactory verwendet wird, die JDBC-Verbindungen herstellt. Diese Verbindungen unterstützen die Erstellung und Ausführung von Anweisungen. Dies können Aktualisierungsanweisungen sein (z. B. die SQL-Anweisungen CREATE, INSERT, UPDATE und DELETE). Sie können auch Abfrageanweisungen wie SELECT sein. Eine JDBC-Verbindung kann auch gespeicherte Prozeduren aufrufen. Dies sind die Prozeduren, die im Datenbankdatenwörterbuch gespeichert sind.

Hibernate-Funktionen zur Zuordnung von Java-Klassen zu Datenbanktabellen sowie von Java-Datentypen zu SQL-Datentypen. Es bietet auch Datenabfrage- und -abruffunktionen. Es ist in der Lage, SQL-Aufrufe zu generieren, wodurch der Entwickler von der manuellen Handhabung der Ergebnismengen und der Objektkonvertierung befreit wird. Dadurch bleibt die Anwendung für alle SQL-Datenbanken portierbar, die von der Bibliothek unterstützt werden. Es ordnet Java-Klassen den Datenbanktabellen zu, indem es eine XML-Datei konfiguriert (in der Hibernate Skelett-Quellcode für die Persistenzklassen generieren kann) oder Java Annotation (wodurch die vorherige Aktion moot wird). Der Ruhezustand unterstützt auch das Zuordnen von benutzerdefinierten Werttypen, wodurch drei spezifische Szenarien möglich werden: Überschreiben des Standard-SQL-Typs, der von Hibernate ausgewählt wird, wenn eine Spalte einer Eigenschaft zugeordnet wird; Zuordnen von Java Enum zu Spalten als wären sie reguläre Eigenschaften; und Zuordnen einer einzelnen Eigenschaft zu mehreren Spalten.

Zusammenfassung:

1. JDBC ist eine API, die definiert, wie ein Client auf eine Datenbank zugreifen kann. Hibernate ist eine ORM-Bibliothek, die ein Framework für die Zuordnung eines objektorientierten Domänenmodells zu einer traditionellen relationalen Datenbank bereitstellt.

2. JDBC ermöglicht, dass verschiedene Implementierungen existieren und von derselben Anwendung verwendet werden. Hibernate-Maps von Java-Klassen zu Datenbanktabellen.