Uvod u hibernacijsku arhitekturu

Prije nego što se upustimo u hibernacijsku arhitekturu, pogledajmo zašto se hibernacija pojavila na slici i koja nam je svrha. Hibernate je ORM (Object Relational Mapping) alat za java programski jezik za razvoj logike postojanja neovisne baze podataka utemeljene na objektima. Hibernate nudi sloj apstrakcije za dohvaćanje i spremanje podataka u bazu podataka.

Zašto hibernirati?

JDBC (Java Database Connectivity) ovisi o bazi podataka. Da budemo precizniji, pisanje upita koje se pokreću iz vaše aplikacije pomoću JDBC ovisi o kojoj bazi podataka radite. Ako radite s MySQL ili Oracle, upiti će biti različiti. Dakle, ako usred projekta morate promijeniti svoju bazu podataka koja će zahtijevati i promjenu koda, a mi to naravno ne želimo. Dok hibernacija koristi hibernacijski jezik za hibernaciju nezavisan od baze podataka. Ukratko, hibernacija se brine za većinu onoga što programer ima s JDBC-om, na primjer. Otvaranje veze s DB-om, zatvaranje veza, rukovanje raznim iznimkama.

Pa uđimo u hibernacijsku arhitekturu da bolje razumijemo kako je Hibernate toliko olakšao upornost podataka.

Hibernativna arhitektura

Glavni je pojam bilo kojeg ORM-a zamjena pisanja SQL upita specifičnih za bazu podataka manipuliranjem objektima.

Jednostavno rečeno,

  • stvarate POJO (običan stari Java objekt)
  • dodijeliti vrijednosti poljima pomoću zadataka
  • recite mirovati da ustraje na tim objektima

Hibernacija preslikava Java klase u tablice baza podataka (što također uključuje mapiranje java tipova podataka u SQL tipove podataka).

Tako vam oduzima bol pretvaranja java polja u SQL podržane tipove podataka. Hibernata to radi umjesto vas.

To također oslobađa razvojnog programera od boli pri rukovanju rezultatima.

Java aplikacija

Razvijajući logiku upornosti, moramo podržati neke resurse u java aplikaciji. Pogledajmo ove resurse.

Srce svake hibernacijske aplikacije leži u njenoj konfiguraciji koja se izvodi pomoću,

  • Konfiguracijska datoteka
  • Mapiranje datoteke

Datoteka za konfiguraciju hibernacije

Definiramo svojstva koja spavaju hibernirajuće podatke s kojom bazom podataka mora komunicirati i s kojim upravljačkim programom JDBC koristiti. Hibernate koristi konfiguracijsku datoteku za dobivanje svih ovih podataka.

Iako je hibernacija sposobna generirati upite u bazu podataka, možemo odrediti dijalekt koji će joj pomoći da generira bolji SQL za potrebnu bazu podataka.

Na primjer, sljedeća su svojstva koja ćete obično postaviti u proljetnom programu za dizanje sustava

Datoteka za presnimavanje u stanju hibernacije

Sadrži sve definicije mapiranja klase u tablici. Svaki ORM alat treba datoteku za mapiranje. Koristimo sljedeće načine da kažemo hibernaciji koja vrijednost objekta mora biti pohranjena u koji stupac tablice.

  • XML
  • Primjedbe

Sintaksa datoteke xml za mapiranje u proljeće,

Slijedi kako napominjemo varijablu instancije koja bi se trebala preslikati u stupac retka u bazi podataka.

Klasa domena

Kao što znamo, Hibernate je poznat po razvoju logike postojanosti koja se temelji na objektima. Dakle, klasa domena je POJO koji se preslikava u tablicu u bazi podataka.

Konfiguracija

Da bi stvorio vezu s bazom podataka, Hibernate mora znati detalje baze podataka, klase i ostale pojedinosti. Konfiguracijski objekt stvara se jednom kada se aplikacija inicijalizira. Uglavnom je odgovoran za dizanje hibernacije na aplikaciji. Konfiguracijski objekt koristi konfiguracijsku datoteku i datoteku hibernacije za mapiranje za izvođenje sljedećih koraka:

  • Učitajte te datoteke.
  • Provjerava jesu li te datoteke dobro oblikovane i valjane.
  • Stvara metapodatke u dvije memorije ove dvije datoteke.
  • Vratite objekt koji sadrži ove metapodatke.

Tvornica sjednica

Tvornica sesija koristi se za izradu objekata sesija. Stvara ga konfiguracijski objekt. Pruža sloj apstrakcije, tako da ne moramo brinuti o tome kako je objekt sesije stvoren. To je globalna tvornička klasa za stvaranje sesija sa navojem. Korištenjem konfiguracijskog objekta dobivamo pristup memorijskim podacima stvorenim iz datoteke za konfiguraciju i mapiranje.

Odatle dobiva JDBC svojstva - ime upravljačkog programa, URL izvora podataka, korisničko ime, lozinku itd. Pomoću tih svojstava stvorit će se objekti povezivanja, što predstavlja povezivanje s bazom podataka.

Pomoću ovih veza stvara se spremnik za povezivanje. Sve informacije iz konfiguracijskog objekta i baze podataka koriste se za stvaranje i povratak objekta sesije. Dakle, tvornički objekt sesije je objekt teške težine. Svaka tvornica sesija konfigurirana je za rad s određenom bazom podataka koristeći jedan od specificiranih dijalekata hibernacije.

sjednica

Jedna stvar koju treba napomenuti je da nije povezana sa sesijom servleta ili sesijom java pošte. Sjednica je pristup našoj bazi podataka. Stvara most od naše aplikacije do baze podataka. Stvorila ga je tvornica sesija. Uzima objekt povezivanja i otvara vezu / sjednicu s bazom podataka i omogućuje aplikaciji izvođenje upornih operacija na bazi podataka.

U alatu ORM sve operacije poput INSERT, DELETE i UPDATE izvodite pomoću objektno orijentirane semantike, što znači da se više ne odnosi na tablice, retke i stupce. Rad sesije radi sve uporne operacije umjesto vas.

Transakcija

Transakcija je kratkotrajni objekt koji predstavlja jedinstvenu radnu jedinicu poput spremanja ili brisanja objekta u tablici u bazi podataka. Aplikaciju apstrahira od osnovne transakcije koja se obavlja pomoću JDBC, JTA (Java Transaction API) itd.

Unutar hibernacije hibernirajte koristeći JDBC, JTA, JNDI (Java Nameing i sučelje imenika) za generiranje SQL upita za konfiguriranu bazu podataka.

Zaključak

U ovom smo članku pogledali kako slojevita arhitektura hibernacije pomaže programeru da radi s bazom podataka bez da mora znati detalje povezanih API-ja poput JDBC, JTA i JNDI. Saznali smo kako mirovanje čini naš život lakšim rukovanjem većinom koda ploče, poput otvaranja / zatvaranja veze s bazom podataka. Nadamo se da vam ovo omogućuje jasno razumijevanje hibernacijske arhitekture, što će vam započeti s korištenjem okvira hibernacije u vašim aplikacijama.

Preporučeni članci

Ovo je vodič za hibernacijsku arhitekturu. Ovdje razgovaramo o slojevitoj arhitekturi hibernacije zajedno s Java aplikacijom. Možete pogledati i sljedeći članak da biste saznali više -

  1. Što je hibernacija?
  2. Hibernacijski okvir
  3. Pitanja o hibernaciji za intervju
  4. Što je hibernacija Java?

Kategorija: