Wat ass den Ënnerscheed tëscht JPA an JDBC?


beäntweren 1:

JDBC ass e Standardinstrument fir direkt mat enger Datebank ze verbannen a SQL ze bedreiwen. Zum Beispill, wielt * aus TableName, etc. Et kann records zréckginn, déi de Benotzer an hirer App veraarbechte kann, a si kënnen all déi üblech Aufgaben maachen wéi d'Aktualiséierung an d'Läsche.Et ass eng vun den Basisdaten Technologien hannert de meeschte Java DBAs (inklusiv JPA Ubidder).

E grousse Problem mat traditionellen JDBC Apps ass datt d'Benotzer dacks Shitty Code hunn, déi d'Logik mat SQL vermëschen, et gi vill Kaarten tëscht Opnamen an Objeten, an sou weider.

JPA ass en offiziellt Tool fir Objektrelational Kaarte. JPA ass eng Technologie déi d'Benotzer erlaabt Objeten a Code- an Datebankstabellen ze kartéieren. JPA kann d'SQL vun der Entwéckler "verstoppen", sou datt alles wat mat Java Klassen ze dinn huet, an de Provider erlaabt Iech se ze späicheren a se op afstand ze lueden. Déi meescht vun der Zäit kënne XML Kartéierungsdateien oder Setzer a Getter-Annotatiounen benotzt gi fir de JPA Provider z'informéieren. Wéi eng Felder am Benotzerobjet ginn zu deene Felder an der Datebank zougewisen? Hibernation ass de populärste JPA Provider.

E puer aner Beispiller dorënner OpenJPA, Topplink, etc.

Hibernate an aner populär JPA Ubidder schreiwen SQL a benotzen JDBC fir ze liesen an ze schreiwen an an aus der Datebank.

Villmols Merci.

Wann Dir meng Äntwert gefält, dann averstanen.


beäntweren 2:

Et wier e bësse komplex den Ënnerscheed tëscht deenen zwee ze verstoen wann Dir en Ufänger sidd. Ech mengen Dir sollt als éischt den Ënnerscheed tëscht JDBC an Hibernate verstoen. Ech hoffen Dir wësst wat JDBC ass, ëmmer nach als kuerz Beschreiwung: JDBC steet fir Java Database Connectivity. JDBC ass eng Java API fir d'Verbindung géint d'Datebank ze verbannen an auszeféieren. Et bitt Driver fir d'Verbindung mat der Datebank. Dir kënnt de JDBC API benotze fir Tabulaldaten ze kréien, déi an all relational Datebank gelagert sinn. Mat der JDBC API kënne mir Daten aus der Datebank späicheren, aktualiséieren, läschen an erëmfannen.

Wat ass am Wanterschlof elo? Am Géigesaz zum JDBC, musst Dir d'Hibernate Bibliothéiken importéieren ier Dir se benotzt, wärend JDBC en Deel vum J2SE selwer ass. Hibernate mécht wat JDBC fir entwéckelt gouf, awer Dir kënnt soen datt Hibernate en fortschrëttlechen Niveau vum JDBC ass. Hibernation vereinfacht d'Entwécklung vun enger Java Applikatioun fir mat der Datebank ze interagéieren. Et ass en ORM-Tool, dat heescht datt se Java Objete un d'DB Dëscher zouginn. Eng Java Klass kann en Dësch am db representéieren. Zum Beispill, wann Dir den Emp_26-Dësch als Employéklasse am Hibernate zougewisen hutt, schreift eng einfach objektorientéiert Ufro fir all Mataarbechter aus der empl_26 Tabelle ze kréien: "vum Employé" // am Hibernate "wielt * aus emp_26" // in JDBC.

Et sinn eng Hellewull vu ville Featuren, déi Hibernate bitt, wéi Cache, Kartéierungskaarten, Ierfschaftskaart, HQL, Paginatioun, a méi déi net am JDBC verfügbar sinn.

JPA ass eng Spezifikatioun, eng Rei vu Klassen an Interfaces. JPA brauch e Tool fir et ëmzesetzen, an dëst Tool ka geschlof ginn. Andeems Dir JPA implementéiert, kënnt Dir dat selwecht maachen wéi Hibernate, awer am JPA Format. Wann JPA en Danz ass, ass Hibernate oder en anert Instrument noutwendeg fir et mat enger Danzstuf ze bidden. Iwwrégens, dat heescht net datt Hibernate net ouni JPA danzen kënnen, Hibernate huet och en eegenen Danz.


beäntweren 3:

JDBC ass e Standard fir direkt Verbindung mat enger Datebank a SQL ze bedreiwen - z.B. B. SELECT * VUN BENOTZER, asw. Et kann records zréckginn, déi Dir an Ärer App veraarbecht hutt an Dir kënnt all déi üblech Aufgaben maachen wéi INSISTEIEREN, DELETE. Maacht gespäichte Prozeduren auszeféieren, asw. Dëst ass eng vun den Basisdaten Technologien fir déi meescht Java Datebank Zougang (och JPA Ubidder).

Ee vun de Probleemer mat traditionellen JDBC Apps ass datt se dacks crapscode hunn, dee vill Kartéierung tëscht records an Objeten huet, Logik gemëscht mat SQL, etc.

JPA ass e Standard fir objektrelational Kartéierung. Dëst ass eng Technologie déi Dir benotze kënnt fir Objeten am Code an Datenbank Dëscher ze mapen. Dëst erlaabt datt SQL vum Entwéckler "verstoppt" gëtt, sou datt nëmme Java Klassen ofgedeckt sinn. De Provider erlaabt Iech se ze späicheren an se magesch ze lueden. In de meeschte Fäll kënnen d'XML Kartéierung Dateien oder Getter a Setzer Kommentare benotzt ginn fir de JPA Provider ze soen wéi Felder an Ärem Objet gi gekart fir wéi eng Felder an der Datebank. De bescht bekannte JPA Provider ass Hibernate, also ass dëst e gudde Startpunkt fir konkret Beispiller.

Aner Beispiller sinn OpenJPA, Toplink, etc.