JDBC protiv hibernacije
Povezivanje Java baze podataka (također poznato kao JDBC) je API posebno izgrađen za Java programski jezik. Ona definira kako je klijent u mogućnosti pristupiti bazi podataka pružanjem metoda za upiti i ažuriranje podataka u bazi podataka. Točnije je orijentirano na relacijske baze podataka. Na tržište je prvi put predstavljen kao dio Java 2 platforme, izdanja Standard Edition, verzija 1.1 (ili J2SE). Skupljen je zajedno s referentnom implementacijom JDBC na ODBC most, omogućujući veze s API-jem bilo kojim ODBC dostupnim izvorom podataka u okruženju JVM glavnog računala.
Hibernate je objektno orijentirana biblioteka za mapiranje (ili ORM knjižnica) posebno izgrađena za Java jezik. Pruža okvir za mapiranje objektno orijentiranog modela domena u tradicionalnu relacijsku bazu podataka. Također rješava probleme neusklađenosti objektne relacijske impedancije - to je probleme u kojima program za upravljanje relacijskim bazama podataka (ili RDBMS) koristi program napisan objektno orijentiranim programskim jezikom ili stilom. To postiže zamjenom izravnih pristupa bazama podataka upornosti s funkcijama rukovanja na visokoj razini. Besplatan je softver s otvorenim kodom i distribuira se pod GNU manjom općom javnom licencom.
JDBC djeluje tako da omogućava da različite aplikacije postoje i koriste ih iste aplikacije. Omogućuje mehanizam pomoću kojeg se ispravni Java paketi dinamički učitavaju i registriraju u JDBC Driver Manager-u, koji se koristi kao vrsta tvorničke veze, koja stvara JDBC veze. Te veze podržavaju stvaranje i izvršavanje izjava. Mogu biti izjave o ažuriranju (na primjer SQL-ovi CREATE, INSERT, UPDATE i DELETE). Mogu biti i izjave upita poput SELECT. JDBC veza također može pozvati pohranjene postupke - to je one postupke koji su pohranjeni u rječniku podataka baze podataka.
Hibernacija primarno funkcionira za preslikavanje Java klasa u tablice baza podataka, kao i iz Java tipova podataka u SQL tipove podataka. Također nudi mogućnosti upita i pretraživanja podataka. Može generirati SQL pozive, na taj način rasterećuje programer od ručnog upravljanja rezultatima i pretvaranja objekata. To zadržava prijenosnost aplikacije u svim SQL bazama podataka koje podržavaju knjižnica. To preslikava Java klase u tablice baza podataka konfiguriranjem XML datoteke (u kojoj hibernacija može generirati skeletni izvorni kôd za klase upornosti) ili koristeći Java Annotation (što čini prethodnu akciju snagom). Hibernate također podržava mapiranje prilagođenih vrsta vrijednosti što omogućuje tri specifična scenarija: poništavanje zadanog SQL tipa, koje je Hibernate odabrao prilikom mapiranja stupca u svojstvo; mapiranje Java Enuma u stupce kao da su oni redovita svojstva; i preslikavanje jednog entiteta u više stupaca.
Sažetak:
1. JDBC je API koji definira kako klijent može pristupiti bazi podataka; Hibernate je ORM knjižnica koja pruža okvir za mapiranje objektno orijentiranog modela domena u tradicionalnu relacijsku bazu podataka.
2. JDBC dopušta da postoje različite implementacije i da ih koristi ista aplikacija; Hiberniraju se karte od klasa Java do tablica baza podataka.