JDBC vs. Hibernace
Java Database Connectivity (známé také jako JDBC) je API vytvořené speciálně pro programovací jazyk Java. Definuje, jak je klient schopen přistupovat k databázi poskytováním metod dotazování a aktualizace dat v databázi. Je zaměřen konkrétněji na relační databáze. Poprvé byl uveden na trh jako součást platformy Java 2 Platform, Standard Edition, verze 1.1 (nebo J2SE). Byl spojen s referenční implementací JDBC na most ODBC, který umožňuje připojení s API k jakémukoli zdroji dat dostupnému ODBC v hostitelském prostředí JVM..
Hibernace je objektově orientovaná mapovací knihovna (nebo ORM knihovna) vytvořená speciálně pro jazyk Java. Poskytuje rámec pro mapování objektově orientovaného modelu domény na tradiční relační databázi. Řeší také problémy s nesouladem objektových relačních impedancí - to jsou problémy, ve kterých systém správy relačních databází (nebo RDBMS) používá program napsaný v objektově orientovaném programovacím jazyce nebo stylu. Toho se dosahuje nahrazením přímých přístupů k databázi souvisejících s perzistencí funkcemi zpracování na vysoké úrovni. Je to bezplatný software s otevřeným zdrojovým kódem a je distribuován pod GNU Lesser General Public License.
JDBC funguje tak, že umožňuje existenci a použití různých implementací stejnou aplikací. Poskytuje mechanismus, pomocí kterého jsou správné Java balíčky dynamicky načítány a registrovány ve Správci ovladačů JDBC - který se používá jako továrna připojení, která vytváří připojení JDBC. Tato připojení podporují vytváření a provádění příkazů. Mohou to být aktualizační příkazy (například SQL CREATE, INSERT, UPDATE a DELETE). Mohou to být také příkazy dotazů, například SELECT. Připojení JDBC může také vyvolat uložené procedury - to jsou ty procedury, které jsou uloženy ve slovníku dat databáze.
Hibernace primárně funguje pro mapování z tříd Java do databázových tabulek, jakož i z datových typů Java na datové typy SQL. Poskytuje také dotazování a vyhledávání dat. Je schopen generovat volání SQL, a tím osvobodit vývojáře od ručního zpracování sad výsledků a převodu objektů. Díky tomu bude aplikace přenosná do všech databází SQL, které jsou podporovány prostřednictvím knihovny. Mapuje třídy Java do databázových tabulek konfigurací souboru XML (ve kterém je Hibernate schopen generovat zdrojový kód kostry pro třídy perzistence) nebo pomocí anotace Java (což způsobí, že předchozí akční moot). Hibernace také podporuje mapování typů uživatelských hodnot, což umožňuje tři specifické scénáře: potlačení výchozího typu SQL, zvoleného režimem Hibernace při mapování sloupce na vlastnost; mapování Java Enum do sloupců, jako by to byly běžné vlastnosti; a mapování jedné vlastnosti do více sloupců.
Souhrn:
1. JDBC je API, které definuje, jak klient může přistupovat k databázi; Hibernace je knihovna ORM, která poskytuje rámec pro mapování objektově orientovaného modelu domény na tradiční relační databázi.
2. JDBC umožňuje existenci různých implementací a jejich použití stejnou aplikací; Hibernace map z tříd Java do databázových tabulek.