JDBC vs. Hibernate
Java Database Connectivity (også kendt som JDBC) er et API specifikt bygget til Java-programmeringssprog. Den definerer, hvordan en klient er i stand til at få adgang til en database ved at tilvejebringe metoder til forespørgsel og opdatering af data i en database. Det er mere specifikt orienteret mod relationelle databaser. Det blev først introduceret til markedet som en del af Java 2-platformen, Standard Edition, version 1.1 (eller J2SE). Det blev samlet sammen med en referenceimplementering JDBC til ODBC bridge, hvilket muliggør forbindelser med API til en hvilken som helst ODBC tilgængelig datakilde i JVM-værtsmiljøet.
Dvaletilstand er et objektorienteret kortlægningsbibliotek (eller ORM-bibliotek) specifikt bygget til Java-sproget. Det giver en ramme til kortlægning af en objektorienteret domænemodel til en traditionel relationel database. Det løser også objektrelationsimpedans-misforholdsproblemer - det er problemer, i hvilke et relationsdatabasestyringssystem (eller RDBMS) bruges af et program skrevet i et objektorienteret programmeringssprog eller -stil. Det opnår dette ved at erstatte direkte persistensrelaterede databaseadganger med håndteringsfunktioner på højt niveau. Det er gratis open source-software og distribueres under GNU Lesser General Public License.
JDBC fungerer ved at lade en række implementeringer eksistere og bruges af den samme applikation. Det tilvejebringer en mekanisme, hvorved de korrekte Java-pakker er indlæst og registreret dynamisk i JDBC Driver Manager - som bruges som en forbindelsesfabrik, af den slags, der skaber JDBC-forbindelser. Disse forbindelser understøtter oprettelse og udførelse af udsagn. De kan være opdateringsangivelser (f.eks. SQL'erne CREATE, INSERT, UPDATE og DELETE). De kan også være forespørgselsangivelser som SELECT. En JDBC-forbindelse kan også påkalde lagrede procedurer - det er de procedurer, der er gemt i databasedatabogen.
Dvaletilstand fungerer primært til at kortlægge fra Java-klasser til databasetabeller samt fra Java-datatyper til SQL-datatyper. Det giver også dataforespørgsler og genfindingsfaciliteter. Det er i stand til at generere SQL-opkald, og dermed frigøres udvikleren fra manuel resultathåndtering og objektkonvertering. Dette holder applikationen bærbar til alle SQL-databaser, der understøttes gennem biblioteket. Det kortlægger Java-klasser til databasetabellerne ved at konfigurere en XML-fil (hvor Dvaletilstand er i stand til at generere skeletkildekode til udholdenhedsklasserne) eller ved hjælp af Java-annotation (som gør, at den tidligere handling blev moot). Dvaletilstand understøtter også kortlægning af tilpassede værdityper, hvilket gør tre specifikke scenarier mulige: tilsidesættelse af standard SQL-typen, valgt af Hibernate, når man kortlægger en kolonne til en egenskab; kortlægning af Java Enum til kolonner, som om de var regelmæssige egenskaber; og kortlægning af en enkelt egenskab til flere kolonner.
Resumé:
1. JDBC er et API, der definerer, hvordan en klient kan få adgang til en database; Hibernate er et ORM-bibliotek, der giver en ramme til kortlægning af en objektorienteret domænemodel til en traditionel relationsdatabase.
2. JDBC tillader forskellige implementeringer at eksistere og bruges af den samme applikation; Dvale kort fra Java-klasser til databasetabeller.