Różnica między JDBC a hibernacją

Różnica między JDBC a hibernacją

JDBC vs. Hibernować

Łączność bazy danych Java (znana również jako JDBC) to API zbudowany specjalnie dla języka programowania Java. Określa, w jaki sposób klient jest w stanie uzyskać dostęp do bazy danych, dostarczając metody zapytania i aktualizacji danych w bazie danych. Jest ono zorientowane bardziej szczegółowo w kierunku relacyjnych baz danych. Po raz pierwszy został wprowadzony na rynek w ramach platformy Java 2, Standard Edition, wersja 1.1 (lub J2SE). Został połączony z referencyjną implementacją JDBC do ODBC Bridge, umożliwiając połączenia z API z dowolnym źródłem danych dostępnych w ODBC w środowisku hosta JVM.

Hibernate to obiektowa biblioteka mapowania (lub biblioteka ORM) specjalnie zbudowana dla języka Java. Zapewnia ramy do mapowania modelu domeny zorientowanej na obiekt na tradycyjną relacyjną bazę danych. Rozwiązuje także problemy z niedopasowaniem relacyjnego impedancji -to znaczy problemy, w których relacyjny system zarządzania bazą danych (lub RDBMS) jest używany przez program napisany w języku lub stylu programowania zorientowanego na obiekt. Osiąga to poprzez zastąpienie bezpośredniej bazy danych związanych z trwałością dostępu do funkcji obsługi wysokiego poziomu. Jest bezpłatne, oprogramowanie typu open source i jest dystrybuowane na podstawie licencji publicznej GNU Lesser.

JDBC działa, umożliwiając istnienie różnych implementacji i wykorzystywania tej samej aplikacji. Zapewnia mechanizm, za pomocą którego prawidłowe pakiety Java są dynamicznie ładowane i zarejestrowane w JDBC Driver Manager -który jest używany jako fabryka połączeń, która tworzy połączenia JDBC. Połączenia te potwierdzają tworzenie i wykonywanie stwierdzeń. Mogą to być instrukcje aktualizacji (na przykład SQLS tworzą, wstaw, aktualizuj i usuń). Mogą to być również instrukcje zapytania, takie jak wybór. Połączenie JDBC może również wywoływać procedury przechowywane -to znaczy procedury przechowywane w słowniku danych bazy danych.

Hibernation Funkcje przede wszystkim do mapowania od klas Java do tabel bazy danych, a także od typów danych Java do typów danych SQL. Zapewnia również zapytania do danych i urządzenia do pobierania. Jest w stanie generować wywołania SQL, w ten sposób zwalniając programistę z obsługi zestawu wyników ręcznych i konwersji obiektów. To utrzymuje aplikację przenośną dla wszystkich baz danych SQL, które są obsługiwane za pośrednictwem biblioteki. Mapuje klasy Java do tabel bazy danych poprzez konfigurację pliku XML (w którym Hibernate jest w stanie wygenerować szkieletowy kod źródłowy dla klas trwałości) lub za pomocą adnotacji Java (co sprawia, że ​​poprzednia akcja jest sporna). Hibernate obsługuje również mapowanie niestandardowych typów wartości, co umożliwia trzy konkretne scenariusze: zastępowanie domyślnego typu SQL, wybranego przez hibernację podczas mapowania kolumny na właściwość; Mapowanie Java enum na kolumny, 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; Hibernate to biblioteka ORM, która zapewnia ramy do mapowania modelu domeny zorientowanej na obiekt na tradycyjną relacyjną bazę danych.

2. JDBC umożliwia istnienie różnych implementacji i używane przez tę samą aplikację; Hibernacja map z klas Java do tabel baz danych.