JDBC i Hibernate

Anonim

JDBC vs. Hibernate

Java Database Connectivity (znana również jako JDBC) to interfejs API stworzony specjalnie dla języka programowania Java. Definiuje, w jaki sposób klient może uzyskać dostęp do bazy danych, zapewniając metody wyszukiwania i aktualizacji danych w bazie danych. Jest ukierunkowany bardziej na relacyjne bazy danych. Po raz pierwszy wprowadzono go na rynek jako część platformy Java 2 Platform, Standard Edition, wersja 1.1 (lub J2SE). Pakiet ten został dołączony do JDBC implementacji referencyjnej do mostu ODBC, umożliwiając połączenia z interfejsem API do dowolnego źródła danych ODBC dostępnego w środowisku hosta JVM.

Hibernacja jest obiektową biblioteką odwzorowań (lub biblioteką ORM) zaprojektowaną specjalnie dla języka Java. Zapewnia ona strukturę mapowania zorientowanego obiektowo modelu domenowego na tradycyjną relacyjną bazę danych. Rozwiązuje również problemy związane z niedopasowaniem impedancji obiektowej - czyli problemy, w których system zarządzania relacyjną bazą danych (lub RDBMS) jest używany przez program napisany w języku lub stylu programowania obiektowego. Osiąga to poprzez zastąpienie bezpośrednich dostępów do baz danych związanych z trwałością, z funkcjami obsługi wysokiego poziomu. Jest to darmowe oprogramowanie o otwartym kodzie źródłowym dystrybuowane na licencji GNU Lesser General Public License.

JDBC działa, umożliwiając różne implementacje, które istnieją i są używane przez tę samą aplikację. Udostępnia mechanizm, dzięki któremu właściwe pakiety Java są dynamicznie ładowane i rejestrowane przy użyciu menedżera sterowników JDBC, który jest używany jako fabryka połączeń, tworząc połączenia JDBC. Połączenia te wspierają tworzenie i wykonywanie wyciągów. Mogą to być instrukcje aktualizacji (na przykład SQL CREATE, INSERT, UPDATE i DELETE). Mogą to być również instrukcje zapytań, takie jak SELECT. Połączenie JDBC może również wywoływać procedury przechowywane - czyli takie procedury są przechowywane w słowniku danych bazy danych.

Hibernate działa głównie w celu mapowania z klas Java do tabel bazy danych, a także z typów danych Java na typy danych SQL. Zapewnia również funkcje wyszukiwania i wyszukiwania danych. Jest w stanie generować wywołania SQL, odciążając programistę od ręcznej obsługi zestawów wyników i konwersji obiektów. Dzięki temu aplikacja będzie przenośna dla wszystkich baz danych SQL obsługiwanych przez bibliotekę. Mapuje klasy Java do tabel 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 czyni poprzednią akcję dyskusyjną). Hibernate obsługuje również mapowanie niestandardowych typów wartości, co umożliwia wykonanie trzech określonych scenariuszy: nadpisanie domyślnego typu SQL, wybranego przez Hibernate podczas odwzorowywania kolumny na właściwość; mapowanie Java Enum do kolumn tak, jakby były zwykłymi właściwościami; i odwzorowanie pojedynczej właściwości na wiele kolumn.

Streszczenie:

1. JDBC to interfejs API definiujący sposób, w jaki klient może uzyskać dostęp do bazy danych; Hibernate to biblioteka ORM, która zapewnia strukturę mapowania zorientowanego obiektowo modelu domenowego na tradycyjną relacyjną bazę danych.

2. JDBC umożliwia istnienie różnych implementacji i korzystanie z nich przez tę samą aplikację; Mapy hibernacji z klas Java do tabel bazy danych.