Uvod v hibernacijsko arhitekturo

Preden se podamo v hibernacijsko arhitekturo, poglejmo, zakaj se je hibernacija pojavila na sliki in kakšen namen nas rešuje. Hibernate je orodje ORM (Object Relational Mapping) za programski jezik java za razvoj logike obstoja baze podatkov, ki je neodvisna od baze podatkov. Hibernate nudi plast abstrakcije za pridobivanje in shranjevanje podatkov v bazi podatkov.

Zakaj mirovati?

JDBC (Java Database Connectivity) je odvisen od baze podatkov. Bolj natančno je pisanje poizvedb, ki se bodo izvajale iz vaše aplikacije s pomočjo JDBC, odvisno od baze podatkov, s katero delate. Če delate z MySQL ali Oracle, bodo vaše poizvedbe drugačne. Torej, če morate sredi projekta spremeniti svojo bazo podatkov, ki bo zahtevala tudi spremembo kode in tega seveda ne želimo. Medtem ko mirovanje uporablja hibernacijski poizvedbeni jezik, neodvisen od baze podatkov. Skratka, mirovanje skrbi za večino tega, kar je imel razvijalec v zvezi z JDBC, npr. Odpiranje povezave z DB, zapiranje povezav, obravnavanje različnih izjem.

Torej, pojdimo v hibernacijsko arhitekturo, da bomo lažje razumeli, kako je Hibernate toliko olajšal obstojnost podatkov.

Hibernativna arhitektura

Glavni koncept katerega koli ORM-a je nadomeščanje pisanja poizvedb, specifičnih za SQL, z manipuliranjem predmetov.

Povedano z enostavnimi besedami,

  • ustvarite POJO (navaden predmet Java)
  • dodelite vrednosti poljem s pomočjo setterjev
  • sporoči mirovanju, da vztraja pri teh predmetih

Hibernacija preslikava razrede Java v tabele baz podatkov (kar vključuje tudi preslikavo podatkovnih vrst Java v podatkovne tipe SQL).

Tako odvzame bolečino pri pretvorbi java polja v podatkovne tipe, ki jih podpira SQL. Hibernacija to naredi za vas.

Prav tako razvijalca razbremeni bolečine pri ravnanju z rezultati.

Java aplikacija

Pri razvijanju logike obstojnosti moramo izkoristiti podporo nekaterih virov v aplikaciji java. Poglejmo te vire.

Bistvo vsake aplikacije za mirovanje je v njeni konfiguraciji, ki se izvaja z uporabo,

  • Konfiguracijska datoteka
  • Preslikava datoteke

Konfiguracijska datoteka hibernacije

Določimo lastnosti, ki sporočajo prezimujejo, s katero bazo podatkov naj bi sodeloval in s katerim gonilnikom JDBC. Hibernate za vse te informacije uporablja konfiguracijsko datoteko.

Čeprav Hibernate lahko generira poizvedbe po bazah podatkov, lahko določimo narečje, s pomočjo katerega lahko ustvari boljši SQL za zahtevano bazo podatkov.

Na primer, naslednje so lastnosti, ki jih običajno nastavite v aplikaciji za vzmetni zagon

Hibernacijska kartoteka za mirovanje

Vsebuje vse definicije preslikave razreda v tabelo. Vsako orodje ORM potrebuje datoteko za preslikavo. Uporabljamo naslednje načine, da v hibernaciji povemo, kakšno vrednost predmeta je treba shraniti v kateri stolpec tabele.

  • XML
  • Opombe

Sintaksa pomnilniške datoteke xml spomladi,

V nadaljevanju je opisano spremenljivko primerka, ki jo je treba preslikati v stolpec vrstice v bazi.

Razred domen

Kot vemo, je Hibernate znan po razvijanju objektne logike obstojnosti. Torej je domenski razred POJO, ki je preslikan v tabelo v bazi podatkov.

Konfiguracija

Za vzpostavitev povezave z bazo podatkov mora Hibernate poznati podrobnosti baze, razrede in druge podrobnosti. Ko se aplikacija inicializira, se ustvari konfiguracijski objekt. V glavnem je odgovoren za zagonsko uporabo hibernacije v aplikaciji. Konfiguracijski objekt s pomočjo konfiguracijske datoteke in hibernacijske preslikavne datoteke izvede naslednje korake:

  • Naložite te datoteke.
  • Preveri, ali so te datoteke dobro oblikovane in veljavne.
  • Ustvari metapodatke teh dveh datotek v pomnilniku.
  • Vrnite predmet, ki vsebuje te metapodatke.

Tovarna seje

Tovarna sej se uporablja za ustvarjanje predmetov seje. Ustvari ga konfiguracijski objekt. Omogoča plast abstrakcije, zato nam ni treba skrbeti, kako je objekt seje ustvarjen. Je svetovni tovarniški razred za ustvarjanje sej. S konfiguracijskim objektom dobimo dostop do podatkov v pomnilniku, ustvarjenih iz konfiguracijske in preslikavne datoteke.

Od tam dobi lastnosti lastnosti JDBC - gonilnik, URL vira podatkov, uporabniško ime, geslo itd. S pomočjo teh lastnosti bo ustvaril povezovalne predmete, ki predstavljajo povezljivost z bazo podatkov.

S pomočjo teh povezav se ustvari bazen povezav. Vsi podatki iz konfiguracijskega objekta in povezave se uporabljajo za ustvarjanje in vračanje sejenega predmeta. Torej je tovarniški predmet seje težak predmet. Vsaka tovarna sej je konfigurirana tako, da deluje z določeno bazo podatkov z uporabo enega od podanih hibernacijskih narečij.

Seja

Treba je opozoriti, da ni povezan s servlet sejo ali java poštno sejo. Seja je prehod na našo bazo podatkov. Ustvari most od naše aplikacije do baze podatkov. Ustvari ga tovarna sej. Vzame objekt povezave in odpre povezavo / sejo z bazo podatkov ter aplikaciji dovoli izvajanje obstojnih operacij v bazi.

V orodju ORM izvajate vse operacije, kot so INSERT, DELETE in UPDATE z uporabo objektno usmerjene semantike, kar pomeni, da se ne sklicujete več na tabele, vrstice in stolpce. Na sejah je treba izvesti vse vztrajne operacije za vas.

Transakcija

Transakcija je kratkotrajen objekt, ki predstavlja eno samo enoto dela, kot je shranjevanje ali brisanje predmeta v tabeli v bazi podatkov. Aplikacijo povleče iz osnovne transakcije, opravljene z uporabo JDBC, JTA (Java Transaction API) itd.

Notranji čas prezimuje s pomočjo JDBC, JTA, JNDI (Java Nameing in Directory Interface) za ustvarjanje poizvedb SQL za konfigurirano bazo podatkov.

Zaključek

V tem članku smo si ogledali, kako večplastna arhitektura hibernacije pomaga programerju pri delu z bazo podatkov, ne da bi mu bilo treba poznati podrobnosti API-ja, kot so JDBC, JTA in JNDI. Izvedeli smo, kako mirovanje olajša naše življenje z ravnanjem z večino kode kotlovne plošče, na primer odpiranje / zapiranje povezave z bazo podatkov. Upajmo, da s tem dobite jasno razumevanje hibernacijske arhitekture, s čimer boste začeli uporabljati okvir hibernacije v svojih aplikacijah.

Priporočeni članki

To je vodnik za mirovanje arhitekture. Tukaj razpravljamo o večplastni arhitekturi hibernacije skupaj z aplikacijo Java. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Kaj je mirovanje?
  2. Hibernacijski okvir
  3. Hibernativna vprašanja o intervjuju
  4. Kaj je hibernacija Java?