Różnica między JDBC a Hibernacją

JDBC vs. Hibernacja

Łączność z bazą danych Java (znana również jako JDBC) to interfejs API zbudowany specjalnie dla języka programowania Java. Określa, w jaki sposób klient może uzyskać dostęp do bazy danych, udostępniając metody zapytań i aktualizacji danych w bazie danych. Jest zorientowany bardziej na relacyjne bazy danych. Po raz pierwszy został wprowadzony na rynek jako część platformy Java 2, Standard Edition, wersja 1.1 (lub J2SE). Został dołączony wraz z implementacją referencyjną JDBC do mostka ODBC, umożliwiając połączenia z interfejsem API z dowolnym dostępnym źródłem danych ODBC w środowisku hosta JVM.

Hibernacja to zorientowana obiektowo biblioteka mapowania (lub biblioteka ORM) specjalnie zbudowana dla języka Java. Zapewnia platformę do mapowania zorientowanego obiektowo modelu domeny na tradycyjną relacyjną bazę danych. Rozwiązuje również problemy niedopasowania relacyjnej impedancji obiektowej - czyli problemy, w których system zarządzania relacyjnymi bazami danych (lub RDBMS) jest używany przez program napisany w obiektowym języku lub stylu programowania. Dokonuje tego poprzez zastąpienie bezpośredniego dostępu do bazy danych związanej z trwałością funkcjami obsługi wysokiego poziomu. Jest to bezpłatne oprogramowanie typu open source i jest rozpowszechniane na licencji GNU Lesser General Public License.

JDBC działa, umożliwiając istnienie różnych implementacji i wykorzystywanie ich przez tę samą aplikację. Zapewnia mechanizm, za pomocą którego poprawne pakiety Java są dynamicznie ładowane i rejestrowane w JDBC Driver Manager - który jest używany jako swego rodzaju fabryka połączeń, która tworzy połączenia JDBC. Połączenia te obsługują tworzenie i wykonywanie instrukcji. Mogą to być instrukcje aktualizacji (na przykład zapytania CREATE, INSERT, UPDATE i DELETE). Mogą to być również zapytania, takie jak SELECT. Połączenie JDBC może również wywoływać procedury składowane - czyli te procedury, które są przechowywane w słowniku danych bazy danych.

Hibernacja przede wszystkim działa w celu mapowania klas Java na tabele baz danych, a także typów danych Java na typy danych SQL. Zapewnia także funkcje wyszukiwania i wyszukiwania danych. Jest w stanie generować wywołania SQL, uwalniając w ten sposób programistę od ręcznej obsługi zestawu wyników i konwersji obiektów. Dzięki temu aplikacja jest przenośna dla wszystkich baz danych SQL obsługiwanych przez bibliotekę. Odwzorowuje klasy Java na tabele bazy danych, konfigurując plik XML (w którym Hibernate jest w stanie wygenerować szkieletowy kod źródłowy dla klas trwałości) lub używając Adnotacji Java (co powoduje, że poprzednie działanie było dyskusyjne). Hibernacja obsługuje również mapowanie niestandardowych typów wartości, co umożliwia trzy określone scenariusze: przesłanianie domyślnego typu SQL, wybranego przez Hibernację podczas mapowania kolumny na właściwość; mapowanie Java Enum na kolumny, tak jakby były zwykłymi właściwościami; i mapowanie pojedynczej właściwości na wiele kolumn.

Streszczenie:

1. JDBC to interfejs API, który określa, w jaki sposób klient może uzyskać dostęp do bazy danych; Hibernacja to biblioteka ORM, która zapewnia platformę do mapowania zorientowanego obiektowo modelu domeny na tradycyjną relacyjną bazę danych.

2. JDBC zezwala na istnienie różnych implementacji używanych przez tę samą aplikację; Hibernacja map od klas Java do tabel baz danych.