Diferența dintre JDBC și Hibernate

JDBC vs. Hibernare

Conectivitatea bazei de date Java (cunoscută și ca JDBC) este un API construit special pentru limbajul de programare Java. Acesta definește modul în care un client poate accesa o bază de date prin furnizarea de metode de interogare și actualizare a datelor dintr-o bază de date. Acesta este orientat mai precis către bazele de date relaționale. A fost pentru prima dată introdusă pe piață ca parte a Platformei Java 2, Standard Edition, versiunea 1.1 (sau J2SE). A fost îmbinat împreună cu o aplicație de referință JDBC pentru puntea ODBC, permițând conexiunile cu API cu orice sursă de date accesibilă ODBC în mediul gazdă JVM.

Hibernate este o bibliotecă de cartografiere orientată pe obiecte (sau o bibliotecă ORM) construită special pentru limba Java. Acesta oferă un cadru pentru cartografierea unui model de domeniu orientat pe obiecte într-o bază de date tradițională relațională. De asemenea, rezolvă probleme de nepotrivire a impedanței relaționale obiect - adică, probleme în care un sistem de gestionare a bazelor de date relaționale (sau RDBMS) este utilizat de un program scris într-un limbaj sau stil de programare orientat obiect. Aceasta realizează acest lucru prin înlocuirea accesului direct la bazele de date legate de persistență cu funcții de manipulare la nivel înalt. Este gratuit, software open source și este distribuit sub licența publică generală GNU Lesser.

JDBC funcționează permițând o varietate de implementări să existe și să fie utilizate de aceeași aplicație. Acesta oferă un mecanism prin care pachetele corecte Java sunt încărcate dinamic și înregistrate cu managerul JDBC Driver - care este folosit ca o fabrică de conexiuni, de tipuri, care creează conexiuni JDBC. Aceste conexiuni sprijină crearea și executarea declarațiilor. Ele pot fi instrucțiuni de actualizare (SQL CREATE, INSERT, UPDATE și DELETE, de exemplu). Ele pot fi, de asemenea, declarații de interogare, cum ar fi SELECT. O conexiune JDBC poate invoca, de asemenea, proceduri stocate - adică acele proceduri care sunt stocate în dicționarul de date al bazei de date.

Funcția Hibernate în primul rând funcționează pentru a mapa de la clase Java la tabele de baze de date, precum și de la tipurile de date Java la tipurile de date SQL. De asemenea, furnizează interogări de date și facilități de recuperare. Este capabil să genereze apeluri SQL, scutirea dezvoltatorului de la manevrarea setului de rezultate manual și conversia obiectului. Acest lucru menține aplicația portabilă pentru toate bazele de date SQL care sunt acceptate prin bibliotecă. Evaluează clase Java în tabelele de baze de date prin configurarea unui fișier XML (în care Hibernate poate genera codul sursă schelet pentru clasele de persistență) sau folosind Adnotarea Java (ceea ce face motivația anterioară a acțiunii). Hibernate acceptă, de asemenea, maparea tipurilor de valori personalizate, ceea ce face posibilă realizarea a trei scenarii specifice: depășirea tipului implicit de SQL, aleasă de Hibernate atunci când se cartografiază o coloană într-o proprietate; maparea Java Enum în coloane ca și cum ar fi proprietăți obișnuite; și cartografierea unei singure proprietăți în mai multe coloane.

Rezumat:

1. JDBC este un API care definește modul în care un client poate accesa o bază de date; Hibernate este o bibliotecă ORM care oferă un cadru pentru cartografierea unui model de domeniu orientat pe obiecte într-o bază de date tradițională relațională.

2. JDBC permite existența diverselor implementări și folosirea aceleiași aplicații; Hibernare hărți de la clase Java la tabele de baze de date.