Forskel mellem JDBC og Hibernate Forskel mellem
JDBC vs. Hibernate
Java Database Connectivity (også kendt som JDBC) er en API specifikt bygget til Java programmeringssprog. Det definerer, hvordan en klient kan få adgang til en database ved at levere 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 Platform, Standard Edition, version 1. 1 (eller J2SE). Den blev samlet sammen med en reference implementerings JDBC til ODBC bro, hvilket muliggør forbindelser med API'en til en hvilken som helst ODBC tilgængelig datakilde i JVM værtsmiljøet.
Hibernate er et objektorienteret kortlægningsbibliotek (eller ORM-bibliotek), der er specielt bygget til Java-sproget. Det giver en ramme for kortlægning af en objektorienteret domænemodel til en traditionel relationsdatabase. Det løser også objektrelationelle impedans mismatch problemer - det er problemer, hvor et relationsdatabasestyringssystem (eller RDBMS) bruges af et program, der er skrevet i et objektorienteret programmeringssprog eller -stil. Det opnår dette ved at erstatte direkte persistensrelaterede databaseadgang med højniveauhåndteringsfunktioner. Det er gratis, open source software og distribueres under GNU Lesser General Public License.
JDBC virker ved at tillade, at en række implementeringer eksisterer og anvendes af den samme applikation. Det giver en mekanisme, hvormed de korrekte Java-pakker er dynamisk indlæst og registreret hos JDBC Driver Manager - som bruges som forbindelsesfabrik, af slags, der skaber JDBC-forbindelser. Disse forbindelser understøtter oprettelsen og udførelsen af udsagn. De kan være opdateringserklæringer (SQLs CREATE, REPLACE, UPDATE og DELETE, for eksempel). De kan også være forespørgsler som SELECT. En JDBC-forbindelse kan også påberåbe sig lagrede procedurer - det vil sige de procedurer, der er lagret i databasedatalogen.
Dvaletilstand fungerer primært for at kortlægge fra Java-klasser til databasetabeller samt fra Java-datatyper til SQL-datatyper. Det giver også data forespørgsel og hentning faciliteter. Det er i stand til at generere SQL-opkald, og dermed lindre udvikleren fra manuel resultatsætthåndtering og objektkonvertering. Dette holder applikationen bærbar til alle SQL-databaser, som understøttes gennem biblioteket. Det kortlægger Java klasser til databasetabellerne ved at konfigurere en XML-fil (hvor Hibernate kan generere skeletkildekoden for persistensklasserne) eller ved hjælp af Java Annotation (som gør den tidligere handling moot). Hibernate understøtter også kortlægning af brugerdefinerede værdityper, hvilket gør tre specifikke scenarier muligt: overstyrer standard SQL-typen, valgt af dvaletilstand, når kortlægning af en kolonne til en ejendom; kortlægning af Java Enum til kolonner som om de var faste egenskaber; og kortlægge en enkelt ejendom til flere kolonner.
Sammendrag:
1. JDBC er en API, der definerer, hvordan en klient kan få adgang til en database; Hibernate er et ORM-bibliotek, der giver en ramme for kortlægning af en objektorienteret domænemodel til en traditionel relationsdatabase.
2. JDBC tillader forskellige implementeringer at eksistere og ved anvendelse af den samme applikation; Hibernate kort fra Java klasser til database tabeller.