Kuo skiriasi JPA ir JDBC?


Atsakymas 1:

JDBC yra standartinis įrankis tiesiogiai prisijungti prie duomenų bazės ir paleisti SQL, pvz., Pažymėti * iš „TableName“ ir tt , įterpti procedūras ir tt Tai yra viena iš pagrindinių „Java DBA“ (įskaitant JPA teikėjų) technologijas.

Viena pagrindinių tradicinių JDBC programų problemų yra ta, kad vartotojas dažnai gali turėti šiek tiek nesąžiningo kodo, kai logika sumaišoma su SQL, vyksta daug duomenų rinkinių ir objektų atvaizdavimo ir tt

JPA yra oficialus objektų santykio žemėlapių sudarymo įrankis. JPA yra technologija, leidžianti vartotojui sudaryti žemėlapius tarp objektų kodų ir duomenų bazių lentelėse. JPA gali „paslėpti“ SQL nuo kūrėjo, kad visi jie būtų naudojami „Java“ klasėse, o teikėjas leidžia juos išsaugoti ir įkelti nuotoliniu būdu. Dažniausiai JPA teikėjui gali būti naudojami XML kartografavimo failai arba komentatoriai seteriuose ir getteriuose. kurie laukai vartotojo objekto žemėlapyje atitinka kuriuos laukus DB. hibernate yra populiariausias JPA teikėjas.

keletas kitų pavyzdžių, įskaitant „OpenJPA“, „toplink“ ir kt.

Hibernate ir kiti populiarūs JPA teikėjai rašo SQL ir naudoja JDBC skaitymui ir rašymui iš ir į DB.

Ačiū.

jei jums patinka mano atsakymas, tada balsuokite.


Atsakymas 2:

Nelengva suprasti abu skirtumus, jei esate pradedantysis. Manau, pirmiausia turėtumėte pradėti nuo JDBC ir Hibernate skirtumo. Aš tikiuosi, kad jūs žinote, kas yra JDBC, vis dar kaip trumpas aprašymas: JDBC reiškia „Java“ duomenų bazių sujungimą. JDBC yra „Java“ API, skirta prisijungti ir vykdyti užklausą su db. Tai suteikia vairuotojams galimybę susisiekti su db. JDBC API galite naudoti norėdami pasiekti lentelių duomenis, saugomus bet kurioje reliacinėje duomenų bazėje. JDBC API pagalba galime išsaugoti, atnaujinti, ištrinti ir gauti duomenis iš duomenų bazės.

Dabar kas žiemoja? Kitaip nei JDBC, tai sistema, kurią reikia naudoti norint hibernate bibliotekas importuoti prieš jas naudojant, o JDBC yra pati J2SE dalis. Hibernate daro tą patį dalyką, kuriam yra sukurtas JDBC, tačiau, galima sakyti, hibernate yra išankstinis JDBC lygis. Hibernate supaprastina „Java“ programos, skirtos sąveikai su duomenų baze, kūrimą. Tai ORM įrankis, reiškiantis, kad „Java“ objektai yra susieti su db lentelėmis. „Java“ klasė gali vaizduoti lentelę db forma. Pvz., Jei „Emp_26“ lentelę priskyrėte kaip „Darbininkų klasė“ hibernate, tada parašykite paprastą į objektą orientuotą užklausą, kad būtų galima atsisiųsti visus darbuotojus iš „empl_26“ lentelės: „iš darbuotojo“ // hibernate „pasirinkite * iš emp_26“ // JDBC.

„Hibernate“ teikia daugybę funkcijų, tokių kaip talpykla, asociacijų žemėlapiai, paveldėjimo žemėlapiai, HQL, puslapių atspausdinimas ir dar daug kitų elementų, kurių nėra JDBC.

Ateina į JPA, tai yra specifikacija, tai yra klasių ir sąsajų rinkinys. JPA reikalingas įrankis, kad ji galėtų būti įdiegta, ir ši priemonė gali būti hibernate. Įgyvendindami JPA, jūs galite padaryti tą patį, ką daro Hibernate, tačiau JPA formatu. Jei JPA yra šokis, tada, norint suteikti šokio sceną, reikia Hibernate ar kokio nors kito įrankio. Beje, tai nereiškia, kad Hibernate negali šokti be JPA, Hibernate taip pat turi savo šokį.


Atsakymas 3:

JDBC yra standartas, skirtas tiesiogiai prisijungti prie DB ir paleisti SQL nuo jo - pvz., PASIRINKITE * IŠ VARTOTOJŲ ir kt. Duomenų rinkinius, kuriuos galite tvarkyti savo programoje, galite grąžinti. Taip pat galite atlikti visus įprastus veiksmus, tokius kaip INSERT, DELETE, saugomų procedūrų vykdymas ir kt. Tai yra viena iš pagrindinių technologijų, užtikrinančių daugumos „Java“ duomenų bazių prieigą (įskaitant JPA teikėjus).

Viena iš tradicinių JDBC programų problemų yra ta, kad dažnai galite turėti šiek tiek nesąžiningo kodo, kai atvaizduojama daugybė duomenų rinkinių ir objektų, logika maišoma su SQL ir kt.

JPA yra objektų santykio žemėlapių standartas. Tai technologija, leidžianti sudaryti žemėlapius tarp objektų kodų ir duomenų bazių lentelėse. Tai gali „paslėpti“ SQL nuo programuotojo taip, kad visi, su kuriais jie susiduria, yra „Java“ klasės, o teikėjas leidžia jums juos išsaugoti ir stebuklingai įkelti. Dažniausiai XML kartografavimo failai arba komentarai apie geterius ir seterius gali būti naudojami JPA teikėjui pasakyti, kurie laukai jūsų objekto žemėlapyje yra, kurie laukai DB. Garsiausias JPA teikėjas yra „Hibernate“, todėl tai gera vieta pradėti nuo konkrečių pavyzdžių.

Kiti pavyzdžiai yra „OpenJPA“, „toplink“ ir kt.