Kakšna je razlika med JPA in JDBC?


Odgovor 1:

JDBC je standardno orodje za neposredno povezavo z bazo podatkov in zagon SQL-ja proti njej, na primer izberite * iz TabeleName, itd. Vrne se lahko podatkovni niz, ki ga uporabnik lahko uporablja v svoji aplikaciji, in lahko počne vse običajne stvari, kot so posodabljanje, brisanje , vstavite postopke itd. Je ena osnovnih tehnologij, ki stojijo za večino Java DBA (vključno s ponudniki JPA).

Glavna težava pri tradicionalnih aplikacijah JDBC je, da ima uporabnik pogosto lahko kakšno krepko kodo, pri kateri se logika meša s SQL, veliko preslikav med nabori podatkov in predmeti itd.

JPA je uradno orodje za objektno relacijsko preslikavo. JPA je tehnologija, ki uporabniku omogoča preslikavo med predmeti v tabelah s kodami in baze podatkov. JPA lahko "SQL" skriva pred razvijalcem, tako da vse, s čim se ukvarjajo znotraj razredov Java, ponudnik pa vam omogoča, da jih shranite in naložite na daljavo. Večinoma se za povezovanje ponudnika JPA lahko uporabijo datoteke za preslikavo XML ali pripombe na setih in pripravah. katera polja na zemljevidu uporabniških objektov in katera polja v DB. mirovanje je najbolj priljubljen ponudnik JPA.

nekaj drugih primerov, vključno z OpenJPA, toplink itd.

Hibernacije in drugi priljubljeni ponudniki za JPA pišejo SQL in uporabljajo JDBC za branje in pisanje iz DB-a in v njega.

Hvala vam.

če ti je všeč moj odgovor, potem ga potrdi.


Odgovor 2:

Rahlo zapleteno bi bilo razumeti razliko med obema, če ste začetnik. Mislim, da bi morali začeti z razumevanjem razlike med JDBC in hibernacijo. Upam, da veste, kaj je JDBC, še vedno kot opis: JDBC pomeni Java Database Connectivity. JDBC je Java API za povezavo in izvajanje poizvedbe z db. Gonilnikom omogoča povezavo z db-jem. API JDBC lahko uporabite za dostop do tabelarnih podatkov, shranjenih v kateri koli relacijski bazi podatkov. S pomočjo API-ja JDBC lahko shranimo, posodobimo, izbrišemo in pridobimo podatke iz baze podatkov.

Zdaj kaj hibernira? To je okvir za razliko od JDBC, uvažati hibernacijske knjižnice, preden ga uporabljate, medtem ko je JDBC del same J2SE. Hibernacija naredi isto kot za JDBC, vendar lahko rečemo, da je hibernacija vnaprejšnja raven JDBC. Hibernacija poenostavlja razvoj Java aplikacije za interakcijo z bazo podatkov. To je orodje ORM, kar pomeni, da preslika java predmete s tabelami db. Razred java lahko predstavlja tabelo v db. Na primer, če ste v hibernacijo preslikali tabelo "emp_26" kot razred zaposlenega, bi napisali preprosto poizvedbo, ki je usmerjena v objekt, da bi v tabelo empl_26 prenesli vse zaposlene: "iz uslužbenca" // v stanju hibernacije "izberite * iz emp_26" // v JDBC.

V hibernaciji je veliko funkcij, ki jih ponuja Hibernate, kot so predpomnilnik, preslikava povezav, preslikava dedovanja, HQL, paginacija in še veliko drugih, ki niso na voljo v JDBC.

V JPA gre za specifikacijo, to je niz razredov in vmesnikov. JPA potrebuje orodje za njegovo izvajanje in to orodje lahko prezimuje. Z izvajanjem JPA lahko naredite enako, kot počne Hibernate, vendar v obliki JPA. Če je JPA ples, potem je potrebna mirovanje ali kakšno drugo orodje, da mu omogočite plesno sceno. Mimogrede, Hibernate ne more plesati brez JPA, tudi Hibernate ima svoj ples.


Odgovor 3:

JDBC je standard za neposredno povezavo z DB in zagon SQL proti njemu - npr. IZBERI * OD UPORABNIKOV itd. Vrnite lahko nabore podatkov, s katerimi lahko upravljate v svoji aplikaciji, in lahko storite vse običajne stvari, kot so INSERT, DELETE, zaženite shranjene postopke itd. Je ena osnovnih tehnologij, ki stojijo za večino dostopa do baze podatkov Java (vključno s ponudniki JPA).

Ena od težav pri tradicionalnih aplikacijah JDBC je, da lahko pogosto imate kakšno krepko kodo, pri kateri se pojavlja veliko preslikav med nabori podatkov in predmeti, logika se meša s SQL itd.

JPA je standard za objektno relacijsko preslikavo. To je tehnologija, ki omogoča preslikavo med predmeti v tabelah s kodami in bazami podatkov. SQL lahko SQL "skrije" pred razvijalcem, tako da so vsi, s katerimi se ukvarjajo, razredi Java, ponudnik pa vam omogoča, da jih shranite in čarobno naložite. Večinoma lahko datoteke za preslikavo XML ali pripombe na getters in setterjih ponudniku JPA sporočite, katera polja na vašem objektnem zemljevidu in katera polja v DB. Najbolj znan ponudnik JPA je Hibernate, zato je dobro mesto za začetek s konkretnimi primeri.

Drugi primeri vključujejo OpenJPA, toplink itd.