JDBC vs. Hibernate
Java-tietokantayhteys (tunnetaan myös nimellä JDBC) on erityisesti Java-ohjelmointikielelle rakennettu sovellusliittymä. Se määrittelee kuinka asiakas pystyy pääsemään tietokantaan tarjoamalla menetelmiä tietokannan tietojen kyselyyn ja päivittämiseen. Se on suuntautunut tarkemmin relaatiotietokantoihin. Se otettiin ensimmäisen kerran markkinoille osana Java 2 Platform, Standard Edition, versio 1.1 (tai J2SE). Se yhdistettiin yhdessä JDBC-referenssitekniikan kanssa ODBC-siltaan, mikä mahdollistaa yhteydet sovellusliittymän kanssa mihin tahansa ODBC-pääsyiseen tietolähteeseen JVM-isäntäympäristössä..
Hibernate on oliokeskeinen kartoituskirjasto (tai ORM-kirjasto), joka on rakennettu erityisesti Java-kielelle. Se tarjoaa puitteet objektiorientoituneen verkkomallin kartoittamiseksi perinteiseen relaatiotietokantaan. Se ratkaisee myös olosuhteiden impedanssien yhteensopimattomuudet eli ongelmat, joissa oliopohjaiseen ohjelmointikieleen tai tyyliin kirjoitettu ohjelma käyttää relaatiotietokannan hallintajärjestelmää (tai RDBMS). Se toteuttaa tämän korvaamalla suorat pysyvyyteen liittyvät tietokantakäytöt korkean tason käsittelytoiminnoilla. Se on ilmainen, avoimen lähdekoodin ohjelmisto, ja sitä jaellaan GNU Lesser General Public -lisenssillä.
JDBC toimii sallimalla useiden toteutusten olemassaolon ja käytön samassa sovelluksessa. Se tarjoaa mekanismin, jolla oikeat Java-paketit ladataan dynaamisesti ja rekisteröidään JDBC Driver Manager -sovelluksessa, jota käytetään eräänlaisena yhteystehtaana, joka luo JDBC-yhteyksiä. Nämä yhteydet tukevat lauseiden luomista ja toteuttamista. Ne voivat olla päivityslausekkeita (esimerkiksi SQL CREATE, INSERT, UPDATE ja DELETE). Ne voivat olla myös kyselylausekkeita, kuten SELECT. JDBC-yhteys voi myös kutsua tallennettuja menettelyjä - eli niitä menettelyjä, jotka on tallennettu tietokantatietojen sanakirjaan.
Hibernaatti toimii pääasiassa kartta Java-luokista tietokantataulukoihin sekä Java-tietotyypeistä SQL-tietotyyppeihin. Se tarjoaa myös tietojen kysely- ja hakuvälineet. Se pystyy generoimaan SQL-puhelut, vapauttaen siten kehittäjän manuaalisesta tulosjoukon käsittelystä ja objektin muuntamisesta. Tämä pitää sovelluksen siirrettävänä kaikkiin SQL-tietokantoihin, joita tuetaan kirjaston kautta. Se kartoittaa Java-luokat tietokantataulukoihin konfiguroimalla XML-tiedoston (jossa Hibernate pystyy luomaan luurangan lähdekoodin pysyvyysluokille) tai käyttämällä Java-huomautusta (mikä tekee edellisestä toiminnasta moottorin). Hibernate tukee myös mukautettujen arvotyyppien kartoitusta, mikä tekee mahdolliseksi kolme erityistä skenaariota: Hibernaten valitseman oletus-SQL-tyypin ohittaminen kartoittaessa sarake ominaisuuteen; kartoitetaan Java Enum sarakkeisiin ikään kuin ne olisivat tavallisia ominaisuuksia; ja yhden ominaisuuden kartoittaminen useisiin sarakkeisiin.
Yhteenveto:
1. JDBC on sovellusliittymä, joka määrittelee, kuinka asiakas voi käyttää tietokantaa; Hibernate on ORM-kirjasto, joka tarjoaa puitteet objektiorientoituneen verkkomallin kartoittamiseksi perinteiseen relaatiotietokantaan.
2. JDBC sallii erilaisten toteutusten olemassaolon ja saman sovelluksen käyttämien; Hibernaat karttoja Java-luokista tietokantataulukoihin.