JDBC verzus dlhodobý spánok
Java Database Connectivity (JDBC) je API špeciálne vytvorené pre programovací jazyk Java. Definuje, ako je klient schopný pristupovať k databáze poskytovaním metód na vyhľadávanie a aktualizáciu údajov v databáze. Je zameraná konkrétnejšie na relačné databázy. Prvýkrát bol uvedený na trh ako súčasť platformy Java 2, Standard Edition, verzia 1.1 (alebo J2SE). Bola zviazaná spolu s referenčnou implementáciou JDBC na most ODBC, čo umožnilo pripojenie s API k akémukoľvek zdroju údajov prístupnému ODBC v hostiteľskom prostredí JVM..
Hibernácia je objektovo orientovaná mapovacia knižnica (alebo ORM knižnica) špeciálne vytvorená pre jazyk Java. Poskytuje rámec na mapovanie objektovo orientovaného modelu domény na tradičnú relačnú databázu. Rieši tiež problémy s nesúladom objektových vzťahov s impedanciou - to sú problémy, v ktorých systém riadenia relačnej databázy (alebo RDBMS) používa program napísaný v objektovo orientovanom programovacom jazyku alebo štýle. Dosahuje to nahradením priameho prístupu k databáze súvisiacim s perzistenciou funkciami na vysokej úrovni manipulácie. Je to bezplatný softvér s otvoreným zdrojovým kódom a je distribuovaný pod GNU Lesser General Public License.
JDBC funguje tak, že umožňuje existenciu a použitie rôznych implementácií tou istou aplikáciou. Poskytuje mechanizmus, pomocou ktorého sa správne Java balíčky dynamicky načítavajú a registrujú v Správcovi ovládačov JDBC - ktorý sa používa ako továreň na pripojenie, ktorá vytvára spojenia JDBC. Tieto spojenia podporujú vytváranie a vykonávanie výpisov. Môže ísť o aktualizačné príkazy (napríklad SQL CREATE, INSERT, UPDATE a DELETE). Môžu to byť aj príkazy dotazov, ako napríklad SELECT. Spojenie JDBC môže tiež vyvolať uložené procedúry - to sú tie procedúry, ktoré sú uložené v dátovom slovníku databázy.
Hibernácia primárne funguje na mapovanie z tried Java do databázových tabuliek, ako aj z typov údajov Java do typov údajov SQL. Poskytuje tiež zariadenia na vyhľadávanie a vyhľadávanie údajov. Je schopný generovať volania SQL, čím sa vývojár zbavuje ručného spracovania množín výsledkov a konverzie objektov. Vďaka tomu bude aplikácia prenosná do všetkých databáz SQL, ktoré sú podporované prostredníctvom knižnice. Mapuje triedy Java do databázových tabuliek konfiguráciou súboru XML (v ktorom je program Hibernate schopný generovať zdrojový kód skeletu pre triedy perzistencie) alebo pomocou anotácie Java (čo spôsobuje predchádzajúcu akciu). Režim dlhodobého spánku tiež podporuje mapovanie typov vlastných hodnôt, čo umožňuje tri špecifické scenáre: prepísanie predvoleného typu SQL, ktoré spoločnosť Hibernate vybrala pri mapovaní stĺpca na vlastnosť; mapovanie Java Enum do stĺpcov, akoby to boli bežné vlastnosti; a mapovanie jednej vlastnosti do viacerých stĺpcov.
Zhrnutie:
1. JDBC je API, ktoré definuje, ako klient môže pristupovať k databáze; Hibernate je knižnica ORM, ktorá poskytuje rámec na mapovanie objektovo orientovaného modelu domény na tradičnú relačnú databázu.
2. JDBC umožňuje existenciu rôznych implementácií a ich použitie rovnakou aplikáciou; Hibernácia mapy z tried Java do databázových tabuliek.