Skillnad mellan JDBC och Hibernate

JDBC vs Hibernate

Java Database Connectivity (även känd som JDBC) är ett API som är specifikt byggt för Java-programmeringsspråket. Det definierar hur en klient kan komma åt en databas genom att tillhandahålla metoder för att fråga och uppdatera data i en databas. Det är mer inriktat på relationella databaser. Den introducerades först på marknaden som en del av Java 2-plattformen, Standard Edition, version 1.1 (eller J2SE). Det var buntat tillsammans med en referensimplementerings JDBC till ODBC-bro, vilket möjliggjorde anslutningar med API till en tillgänglig ODBC-datakälla i JVM-värdmiljön.

Viloläge är ett objektorienterat kartläggningsbibliotek (eller ORM-bibliotek) som är särskilt byggt för Java-språket. Det ger en ram för kartläggning av en objektorienterad domänmodell till en traditionell relationsdatabas. Det löser också objektrelationella impedans mismatchproblem, det vill säga problem där ett relationsdatabashanteringssystem (eller RDBMS) används av ett program skrivet i ett objektorienterat programmeringsspråk eller -stil. Det åstadkommer detta genom att ersätta direkta persistensrelaterade databasåtkomst med hanteringsfunktioner på hög nivå. Det är gratis, öppen källkodsprogramvara och distribueras under GNU Lesser General Public License.

JDBC fungerar genom att låta en mängd implementeringar existera och användas av samma applikation. Det tillhandahåller en mekanism där de korrekta Java-paketen laddas dynamiskt och registreras hos JDBC Driver Manager - som används som en anslutningsfabrik, av sorter som skapar JDBC-anslutningar. Dessa anslutningar stöder skapandet och genomförandet av uttalanden. De kan vara uppdateringsrekommendationer (SQLs CREATE, INSERT, UPDATE och DELETE, till exempel). De kan också vara frågeformulär som SELECT. En JDBC-anslutning kan också åberopa lagrade procedurer-det vill säga de procedurer som lagras i databasdataboken.

Viloläge fungerar huvudsakligen för att kartlägga från Java-klasser till databastabeller, samt från Java-datatyper till SQL-datatyper. Det tillhandahåller även datasöknings- och återhämtningsfaciliteter. Det kan generera SQL-samtal, vilket därigenom lindrar utvecklaren från manuell resultatuppsättningshantering och objektkonvertering. Detta håller applikationen bärbar till alla SQL-databaser som stöds genom biblioteket. Den kartlägger Java-klasser i databasborden genom att konfigurera en XML-fil (där Hibernate kan skapa skelettkällkod för persistensklassen) eller använda Java Annotation (vilket gör den tidigare åtgärden moot). Hibernate stöder också kartläggning av anpassade värdetyper, vilket möjliggör tre specifika scenarier: Övervägande standard SQL-typ, vald av viloläge när mappning av en kolumn till en egenskap kartlägga Java Enum till kolumner som om de var vanliga egenskaper; och kartläggning av en enda egenskap till flera kolumner.

Sammanfattning:

1. JDBC är ett API som definierar hur en klient kan komma åt en databas; Hibernate är ett ORM-bibliotek som tillhandahåller en ram för kartläggning av en objektorienterad domänmodell till en traditionell relationsdatabas.

2. JDBC tillåter att olika implementeringar existerar och används av samma applikation; Hibernate kartor från Java klasser till databas tabeller.