Mis vahe on ühisassamblee ja JDBC vahel?


Vastus 1:

JDBC on standardne vahend andmebaasiga otseühenduse loomiseks ja selle vastu SQL-i käitamiseks, näiteks valige TableName'i hulgast * jne. Andmeid saab tagastada, mida kasutaja saab oma rakenduses käsitleda, ning ta saab teha kõiki tavalisi asju, näiteks värskendada, kustutada , protseduuride lisamine jne. See on enamiku Java DBA (sealhulgas JPA pakkujate) aluseks olev tehnoloogia.

Üks peamisi probleeme traditsiooniliste JDBC-rakenduste juures on see, et kasutajal võib sageli olla mõni jube kood, kus loogika on segatud SQL-iga, toimub palju andmekogumite ja objektide vahelist kaardistamist jne.

JPA on ametlik tööriist objektide suhte kaardistamiseks. JPA on tehnoloogia, mis võimaldab kasutajal kaardistada objektide vahel koodi- ja andmebaasi tabelites. JPA suudab SQL-i arendaja eest "peita", nii et kõik nendega tegeletakse Java klassides ja pakkuja lubab teil neid salvestada ja eemalt laadida. Enamasti saab JPA pakkujale öelda XML-kaardistamisfaile või setterite ja getterite märkusi. mis väljad kasutajaobjekti kaardil milliste väljade juurde DB-s. talveunerežiim on populaarseim ühisassamblee pakkuja.

mõned muud näited, sealhulgas OpenJPA, toplink jne.

Hibernate ja muud populaarsed JPA pakkujad kirjutavad SQL-i ja kasutavad JDBC-d DB-de lugemiseks ja sellest kirjutamiseks.

Aitäh.

kui teile meeldib minu vastus, siis hääletage seda.


Vastus 2:

Oleks algaja, oleks keeruline mõista mõlema erinevust. Ma arvan, et peaksite alustama sellest, et mõistate kõigepealt JDBC ja Hibernate erinevust. Ma loodan, et te teate, mis on JDBC, ikka lühikese kirjeldusena: JDBC tähistab Java Database Connectivity. JDBC on Java API, mis ühendab ja täidab päringu db-ga. See pakub draiveritele ühenduse loomiseks db-ga. JDBC API abil saate pääseda suvalises relatsiooniandmebaasis talletatud tabeliandmetele. JDBC API abil saame andmebaasist andmeid salvestada, värskendada, kustutada ja neid tuua.

Mis on talveune? Erinevalt JDBC-st on see raamistik hibernate raamatukogude importimiseks enne selle kasutamist, samas kui JDBC on osa J2SE-st. Hibernate teeb sama, mille jaoks JDBC on välja töötatud, kuid võib öelda, et Hibernate on JDBC eelnev tase. Hibernate lihtsustab Java-rakenduste arendamist andmebaasiga suhtlemiseks. See on ORM-i tööriist, mis tähendab, et see kaardistab Java-objektid db-tabelitega. Java klass võib esitada tabeli db-s. Näiteks kui kaardistasite tabeli "emp_26" töötajaklassina talveunerežiimis, siis kirjutaksite kõigi töötajate tabelist empl_26 toomiseks lihtsa objektorienteeritud päringu: "Töötajalt" // talveunerežiimis "valige * emp_26-st" // JDBC.

Hibernate pakub palju põnevaid funktsioone, näiteks vahemälu, assotsieerumise kaardistamine, pärimise kaardistamine, HQL, lehekülgede lisamine ja palju muid, mis pole JDBC-s saadaval.

JPA-le jõudes on see spetsifikatsioon, see on klasside ja liideste komplekt. JPA vajab selle rakendamiseks tööriista ja see tööriist võib olla talveune. JPA rakendamisel saate teha sama, mis hibernate, kuid JPA formaadis. Kui JPA on tants, on selle tantsulava tagamiseks vaja hibernate või mõnda muud tööriista. Muide, see ei tähenda, et Hibernate ei saaks ilma JPAta tantsida, ka Hibernate on saanud oma tantsu.


Vastus 3:

JDBC on standard DB-ga otseühenduse loomiseks ja selle vastu SQL-i käitamiseks - nt SELECT * FROM USERS jne. Andmete komplekte saab tagasi, mida saate oma rakenduses käsitleda, ja saate teha kõiki tavalisi asju, näiteks INSERT, DELETE, salvestatud protseduuride käitamine jne. See on enamiku Java andmebaasidele juurdepääsu tagavate tehnoloogiate (sealhulgas JPA pakkujate) aluseks olevad tehnoloogiad.

Üks traditsiooniliste JDBC rakendustega seotud probleeme on see, et sageli võib teil olla mõni jube kood, kus andmekogude ja objektide vahel toimub palju kaardistamist, loogika segatakse SQL-iga jne.

JPA on objektide relatsioonilise kaardistamise standard. See on tehnoloogia, mis võimaldab kaardistada objektide vahel koodi- ja andmebaasitabelites. See võib SQL-i arendaja eest "peita", nii et kõik, millega nad tegelevad, on Java klassid ja pakkuja lubab teil neid salvestada ja võluväel laadida. Enamasti saab XML-kaardistamisfaile või getterite ja setterite märkimisi kasutada selleks, et JPA pakkujale öelda, millised väljad teie objektikaardil vastavad millistele väljadele DB-s. Kõige kuulsam JPA pakkuja on Hibernate, seega on see hea koht konkreetsete näidete alustamiseks.

Muud näited hõlmavad OpenJPA, toplink jne.