Úvod do dlhodobej architektúry

Predtým, ako sa dostaneme do Hibernate Architecture, pozrime sa, prečo Hibernate prišiel na obrázok a aký účel to pre nás rieši. Režim dlhodobého spánku je nástroj ORM (Object Relational Mapping) pre programovací jazyk java na vývoj logiky perzistencie závislej od objektovo založenej databázy. Režim dlhodobého spánku poskytuje vrstvu abstrakcie na získavanie a ukladanie údajov do databázy.

Prečo dlhodobý spánok?

JDBC (Java Database Connectivity) je závislý od databázy. Presnejšie povedané, písanie otázok, ktoré sa majú spúšťať z vašej aplikácie pomocou JDBC, závisí od databázy, s ktorou pracujete. Ak pracujete s MySQL alebo Oracle, vaše otázky sa budú líšiť. Ak teda v polovici projektu potrebujete zmeniť svoju databázu, ktorá bude tiež vyžadovať zmenu kódu, a to samozrejme nechceme. Hibernácia však používa databázový nezávislý hibernačný dopytovací jazyk. Stručne povedané, hibernácia sa stará o väčšinu toho, čo vývojár musel robiť s JDBC, napr. Otvorenie spojenia s databázou, ukončenie spojení, riešenie rôznych výnimiek.

Poďme sa teda dostať do architektúry dlhodobého spánku, aby sme lepšie porozumeli tomu, ako režim dlhodobého spánku tak oveľa ľahšie uľahčil vytrvalosť údajov.

Dlhodobá spánková architektúra

Hlavnou koncepciou každého ORM je nahradenie písania dopytov SQL špecifických pre databázu manipulačnými objektmi.

Jednoducho povedané,

  • vytvoríte POJO (obyčajný starý objekt Java)
  • priradiť hodnoty k poliam pomocou nastavovačov
  • povedzte režimu spánku, aby tieto objekty pretrvával

Režim dlhodobého spánku mapuje triedy Java do databázových tabuliek (čo zahŕňa aj mapovanie typov údajov Java na typy údajov SQL).

Odstraňuje to bolesť z prevodu polí java na typy údajov podporované SQL. Hibernácia to robí za vás.

Zbavuje tiež vývojára bolesti pri manipulácii s výsledkami.

Java aplikácia

Pri vývoji logiky perzistencie je potrebné prevziať podporu niektorých zdrojov v aplikácii java. Pozrime sa na tieto zdroje.

Srdcom každej aplikácie dlhodobého spánku je jej konfigurácia, ktorá sa vykonáva pomocou,

  • Konfiguračný súbor
  • Mapovací súbor

Hibernačný konfiguračný súbor

Definujeme vlastnosti, ktoré hovoria o prezimovaní, s akou databázou musí interagovať a s ktorým ovládačom JDBC sa má použiť. Hibernate používa na získanie všetkých týchto informácií konfiguračný súbor.

Hoci Hibernate dokáže generovať databázové dotazy, môžeme zadať dialekt, ktorý mu pomôže vytvoriť lepší SQL pre požadovanú databázu.

Napríklad nasledujúce sú vlastnosti, ktoré zvyčajne nastavíte v aplikácii jarného zavádzania

Hibernačný mapovací súbor

Obsahuje všetky definície mapovania triedy-tabuľky. Každý nástroj ORM potrebuje mapovací súbor. Nasledujúce spôsoby používame na to, aby sme Hibernate oznámili, akú hodnotu objektu treba uložiť do ktorého stĺpca tabuľky.

  • XML
  • anotácie

Syntax súboru mapovania xml na jar,

Nasleduje spôsob, ako anotujeme premennú inštancie, ktorá by sa mala mapovať do stĺpca riadku v databáze.

Trieda domény

Ako vieme, režim Hibernate je známy pre vývoj logiky perzistencie založenej na objektoch. Trieda domény je teda POJO, ktoré je mapované do tabuľky v databáze.

konfigurácia

Ak chcete vytvoriť pripojenie k databáze, program Hibernate musí poznať podrobnosti o databáze, triedy a ďalšie podrobnosti. Po inicializácii aplikácie sa vytvorí konfiguračný objekt. Zodpovedá hlavne za zavádzanie režimu dlhodobého spánku do aplikácie. Konfiguračný objekt používa konfiguračný súbor a súbor mapovania dlhodobého spánku na vykonanie nasledujúcich krokov:

  • Načítať tieto súbory.
  • Skontroluje, či sú tieto súbory správne formátované a platné.
  • Vytvára v pamäti metadáta týchto dvoch súborov.
  • Vracia objekt, ktorý obsahuje tieto metaúdaje.

Session Factory

Továreň relácie sa používa na vytváranie objektov relácie. Tvorí ho konfiguračný objekt. Poskytuje vrstvu abstrakcie, takže sa nemusíme obávať, ako sa vytvorí objekt relácie. Je to globálna továrenská trieda bezpečná pre vlákna na vytváranie relácií. Použitím konfiguračného objektu získame prístup k údajom v pamäti vytvoreným z konfiguračného a mapovacieho súboru.

Odtiaľ získava vlastnosti JDBC - meno ovládača, URL zdroja údajov, užívateľské meno, heslo atď. Pomocou týchto vlastností vytvorí objekty pripojenia predstavujúce pripojenie k databáze.

Pomocou týchto pripojení sa vytvorí oblasť pripojení. Všetky informácie z konfiguračného objektu a oblasti pripojení sa používajú na vytvorenie a vrátenie objektu relácie. Výrobný objekt relácie je preto objektom s vysokou hmotnosťou. Každá továreň relácie je nakonfigurovaná tak, aby pracovala s konkrétnou databázou pomocou jedného zo špecifikovaných dialektov dlhodobého spánku.

zasadania

Jedna vec, ktorú treba poznamenať, je, že sa netýka relácie servletov ani relácie java mail. Relácia je bránou do našej databázy. Vytvára most z našej aplikácie do databázy. Vytvára ju továreň relácie. Berie objekt pripojenia a otvára pripojenie / reláciu do databázy a umožňuje aplikácii vykonávať v databáze operácie perzistencie.

V nástroji ORM vykonávate všetky operácie ako INSERT, DELETE a UPDATE pomocou objektovo orientovanej sémantiky, čo znamená, že už neodkazujete na tabuľky, riadky a stĺpce. Je to práca na reláciách, ktorá pre vás vykonáva všetky perzistenčné operácie.

transakcie

Transakcia je krátkodobý objekt, ktorý predstavuje jednu jednotku práce, napríklad uloženie alebo vymazanie objektu v tabuľke v databáze. Abstraktuje aplikáciu z podkladovej transakcie vykonanej pomocou JDBC, JTA (Java Transaction API), atď.

Interne hibernácie používajte JDBC, JTA, JNDI (Java Naming and Directory Interface) na generovanie dotazov SQL pre nakonfigurovanú databázu.

záver

V tomto článku sme sa zaoberali tým, ako vrstvená architektúra dlhodobého spánku pomáha programátorovi pracovať s databázou bez toho, aby museli poznať podrobnosti súvisiaceho rozhrania API, ako sú JDBC, JTA a JNDI. Dozvedeli sme sa, ako Hibernate uľahčuje náš život spracovaním väčšiny kódu kotlovej dosky, ako je napríklad otvorenie / zatvorenie pripojenia k databáze. Dúfajme, že vám to poskytne jasné pochopenie architektúry dlhodobého spánku, ktorá vám pomôže začať používať režim dlhodobého spánku vo vašich aplikáciách.

Odporúčané články

Toto je sprievodca architektúrou dlhodobého spánku. Tu diskutujeme o vrstvenej architektúre dlhodobého spánku spolu s Java aplikáciou. Viac informácií nájdete aj v nasledujúcom článku -

  1. Čo je režim dlhodobého spánku?
  2. Režim dlhodobého spánku
  3. Hibernate Interview Otázky
  4. Čo je to Java Hibernate?

Kategórie: