Forskjellen mellom JDBC og Hibernate

JDBC vs dvalemodus

Java Database Connectivity (også kjent som JDBC) er en API spesifikt bygget for Java programmeringsspråket. Det definerer hvordan en klient kan få tilgang til en database ved å gi metoder for å spørre og oppdatere data i en database. Det er mer orientert mot relasjonsdatabaser. Det ble først introdusert til markedet som en del av Java 2 Platform, Standard Edition, versjon 1.1 (eller J2SE). Den ble samlet sammen med en referanseimplementerings JDBC til ODBC-bro, som muliggjør forbindelser med API til en hvilken som helst ODBC tilgjengelig datakilde i JVM-vertsmiljøet.

Dvalemodus er et objektorientert kartleggingsbibliotek (eller ORM-bibliotek) som er spesielt bygget for Java-språket. Det gir et rammeverk for kartlegging av en objektorientert domenemodell til en tradisjonell relasjonsdatabase. Det løser også objektrelasjonelle impedans mismatch problemer - det er problemer der et relasjonsdatabasebehandlingssystem (eller RDBMS) brukes av et program skrevet i et objektorientert programmeringsspråk eller -stil. Den oppnår dette ved å erstatte direkte persistensrelaterte databasetilgang med høynivåhåndteringsfunksjoner. Det er gratis, åpen kildekode og distribueres under GNU Lesser General Public License.

JDBC fungerer ved å tillate en rekke implementeringer å eksistere og brukes av den samme applikasjonen. Det gir en mekanisme som de riktige Java-pakkene er dynamisk lastet inn og registrert hos JDBC Driver Manager - som brukes som en tilkoblingsfabrik, av forskjellige slag, som skaper JDBC-tilkoblinger. Disse forbindelsene støtter opprettelsen og utførelsen av uttalelser. De kan være oppdateringserklæringer (SQLs CREATE, INSERT, UPDATE og DELETE, for eksempel). De kan også være spørresetninger som SELECT. En JDBC-tilkobling kan også påberope lagrede prosedyrer-det vil si de prosedyrene som lagres i databasedataboken.

Hibernate fungerer først og fremst for å kartlegge fra Java-klasser til databasetabeller, samt fra Java-datatyper til SQL-datatyper. Det gir også data forespørsel og gjenfinning fasiliteter. Det er i stand til å generere SQL-samtaler, og dermed lindre utvikleren fra manuell resultatsetthåndtering og objektkonvertering. Dette holder applikasjonen bærbar til alle SQL-databaser som støttes gjennom biblioteket. Det kartlegger Java-klasser i databasetabellene ved å konfigurere en XML-fil (der dvalemodus kan generere skjelettkildekode for persistensklassene) eller ved hjelp av Java Annotation (som gjør den tidligere handlingen moot). Dvalemodus støtter også kartlegging av egendefinerte verdi typer, noe som gjør tre spesifikke scenarier mulig: overstyrer standard SQL-typen, valgt av dvalemodus når kartlegging av en kolonne til en eiendom; kartlegging av Java Enum til kolonner som om de var vanlige egenskaper; og kartlegge en enkelt eiendom til flere kolonner.

Sammendrag:

1. JDBC er en API som definerer hvordan en klient kan få tilgang til en database; Hibernate er et ORM-bibliotek som gir et rammeverk for kartlegging av en objektorientert domenemodell til en tradisjonell relasjonsdatabase.

2. JDBC tillater ulike implementeringer å eksistere og brukes av samme søknad; Hibernate kart fra Java klasser til databasetabeller.