JDBC vs talveune
Java andmebaasi ühenduvus (tuntud ka kui JDBC) on spetsiaalselt Java programmeerimiskeele jaoks loodud API. See määratleb, kuidas klient pääseb andmebaasidele juurde, pakkudes meetodeid andmebaasis andmete pärimiseks ja värskendamiseks. See on orienteeritud täpsemalt relatsioonilistele andmebaasidele. Esmakordselt toodi see turule Java 2 platvormi, Standard Editioni versiooni 1.1 (või J2SE) osana. See komplekteeriti koos JDBC viidete rakendamisega ODBC sillale, võimaldades ühendusi API-ga mis tahes ODBC-le juurdepääsetava andmeallikaga JVM-i hostkeskkonnas.
Hibernate on spetsiaalselt Java keele jaoks loodud objektorienteeritud kaardistamiskogu (või ORM-teek). See loob raamistiku objektorienteeritud domeenimudeli kaardistamiseks traditsioonilise relatsiooniandmebaasiga. Samuti lahendab see objekti relatsioonilise impedantsi mittevastavuse probleemid, st probleemid, milles relatsioonilise andmebaasi haldussüsteemi (või RDBMS) kasutab programm, mis on kirjutatud objektorienteeritud programmeerimiskeeles või -stiilis. See saavutab selle, asendades otsese püsivusega seotud andmebaasidele juurdepääsu kõrgel tasemel käitlemisfunktsioonidega. See on tasuta avatud lähtekoodiga tarkvara ja seda levitatakse GNU väiksema üldise avaliku litsentsi alusel.
JDBC töötab, lubades mitmesugustel rakendustel eksisteerida ja sama rakendus neid kasutab. See pakub mehhanismi, mille abil õiged Java-paketid laaditakse dünaamiliselt ja registreeritakse JDBC draiverihalduris - mida kasutatakse ühenduse tehasena, mis loob JDBC-ühendusi. Need ühendused toetavad avalduste loomist ja täitmist. Need võivad olla värskenduslaused (näiteks SQL CREATE, INSERT, UPDATE ja DELETE). Need võivad olla ka päringulaused, näiteks SELECT. JDBC-ühendus võib kutsuda ka salvestatud protseduure - st neid protseduure, mida salvestatakse andmebaasi andmete sõnastikus.
Hibernate funktsioneerib peamiselt Java klassidest andmebaasitabelitesse ning Java andmetüüpidest SQL andmetüüpidesse kaardistamiseks. See pakub ka andmete päringu ja otsingu võimalusi. See on võimeline genereerima SQL-kõnesid, vabastades seega arendaja käsitsitulemite käsitsemise ja objektide teisendamise eest. See hoiab rakenduse kaasaskantavana kõigis raamatukogu kaudu toetatavates SQL-andmebaasides. See kaardistab Java klassid andmebaasi tabelitesse, konfigureerides XML-faili (milles Hibernate on võimeline genereerima püsivusklasside skeleti lähtekoodi) või kasutades Java Annotationi (mis muudab endise toimingu keeruliseks). Hibernate toetab ka kohandatud väärtustüüpide kaardistamist, mis teeb võimalikuks kolm konkreetset stsenaariumi: vaikimisi valitud SQL-tüübi alistamine, mille Hibernate valib veeru omaduseks kaardistamisel; Java Enumi kaardistamine veergudeks nii, nagu need oleksid tavalised atribuudid; ja ühe atribuudi kaardistamine mitmele veerule.
Kokkuvõte:
1. JDBC on API, mis määratleb, kuidas klient pääseb andmebaasidele juurde; Hibernate on ORM-teek, mis loob raamistiku objektorienteeritud domeenimudeli kaardistamiseks traditsioonilises relatsiooniandmebaasis.
2. JDBC võimaldab eksisteerida erinevatel rakendustel, mida kasutab sama rakendus; Hibernate kaarte Java klassidest andmebaasi tabelitesse.