Uvod u hibernacijsko zasjedanje
Postoji mnogo objektno orijentiranih programskih jezika koji imaju svoje sintakse i biblioteke, dok s druge strane, cjelokupni podaci koje pohranjujemo u pričuvnoj bazi temelje se na relacijskom modelu koji ima potpuno različite protokole i sintakse koje treba slijediti. Hibernate je jedna od platformi srednjeg softvera za premošćivanje tog jaza. Ovu srednju softversku aplikaciju nazvao sam Object Relational Mapping (ORM). Imamo razne ORM alate kao što su Hibernate, IBatis, Toplink i još mnogo toga. U ovom ćemo se članku usredotočiti na stanje hibernacije i njegove sesije.
Što je hibernacija?
To je ORM alat koji se koristi za povezivanje i mapiranje objekata u aplikacijskom sloju u bazu podataka za programski jezik JAVA. Izgrađen je za obradu neusklađenosti impedancije između tipičnog programskog jezika i relacijske baze podataka. Besplatan je softver s licencom GNU, može se lako preuzeti s interneta.
Hibernate je produžetak JAVA upornosti API-ja. Podržava jezik hibernacijskog upita (HQL). Glavna uloga hibernacije je povezivanje JAVA objekata i klasa s klasama baze podataka putem XML strukture ili JAVA napomena. Slično tome, tipovi podataka JAVA trebaju se uskladiti s tipovima podataka baze podataka tako da postoji pogrešna komunikacija između dva različita sustava. Hibernacija se može koristiti za dobivanje podataka pomoću upita. Može generirati SQL pozive i na taj način ublažiti ručne pogreške i rad programera. Postoje različite ugrađene funkcije u stanju hibernacije radi lakše uporabe:
load (), update (), get (), merge (): Ako smo sigurni da objekt postoji, mi koristimo ovu funkciju za učitavanje hibernacijskog objekta, inače koristimo get () funkciju. Funkcije ažuriranja i spajanja koriste se za ažuriranje zapisa baze podataka na temelju trenutnih sesija već postoje ili smo potpuno svježe sesije za transakciju. Postoji mnogo više funkcija poput ove za podmirenje hibernacije.
Što je hibernacija?
To je vrijeme sučelja između aplikacije i hibernacije koje se izrađuje na zahtjev. Drugim riječima, omogućuje povezanost između vaše aplikacije i baze podataka. Nudi različite funkcije kao što su stvaranje, brisanje, dobivanje, ažuriranje za rad na bazi podataka koristeći metode sesije koje postoje u četiri stanja, naime: Prolazno, postojano i odvojeno, uklonjeno.
Hibernata je stvorena da služi ovoj svrsi. Glatko povezuje bazu podataka s jezikom java, neovisno o bilo kojoj bazi podataka. Dolazi s fleksibilnim značajkama i na taj način promovira fleksibilnost u rukovanju podacima na različitim platformama.
Metode hibernacijskog zasjedanja
- Spremi (): Spremi () metoda generira primarni ključ i ubacuje zapis u bazu podataka. Slična je metodi persist () u JPA, ali se ponaša drugačije u odvojenom instanci stvarajući duplikat nakon preuzimanja baze podataka.
- Update (): Ažuriranje () koristi se za ažuriranje postojećeg zapisa baze podataka. Vraća izuzetak ako zapis nije pronađen ili pozvan u prolaznoj instanci.
- saveOrUpdate (): sprema ili ažurira bazu podataka na temelju subjekta koji je poslan . Ne vraća iznimku u prolaznom stanju, ali čini stanje postojanim tijekom rada baze podataka.
- merge (): Vrijednosti odvojenog entiteta ažuriraju se u bazu podataka kada se merge () koristi promjenom odvojenog entiteta u postojano stanje.
- delete (): metoda brisanja djeluje u upornom načinu uklanjanja entiteta iz baze podataka. Iznimka se vraća ako u bazi podataka nije pronađen zapis.
Kako stvoriti hibernacijsku sjednicu?
Da bismo stvorili hibernacijsku sesiju, moramo učitati hibernacijske ovisnosti u biblioteku alata koji koristite zajedno s priključkom baze podataka. Nakon što se te knjižnice učitaju, možemo uspostaviti vezu stvaranjem sesije koristeći tvorničku sesiju.
Pretpostavimo da imamo tablicu s dva stupca: Id zaposlenika i Ime zaposlenika koje treba ažurirati.
Isječak koda:
javna klasa testclasshibernate // deklaracija o klasi.
(
javno statički void main (string () args) // Glavno izvršavanje programa započet će odavde.
(
testprogram = novi program (); // Ovdje je klasa objektivizirana, a zatim se ovaj objekt koristi kao referenca za slanje vrijednosti poput imena zaposlenika i ID-a zaposlenika koje je potrebno uvesti u tablicu baze podataka.
program.setEmpId (101);
program.setEmpName ( „User 1”);
Konfiguracija con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Stvorite tvornicu sesija pomoću konfiguracije
SessionFactory sf1 = con.buildsessionfactory ();
// Metoda otvorene sesije daje objekt sesije.
Session s1 = sf.OpenSession ();
// Otvaranje transakcije
Transakcija t1 = session.beginTransaction ();
session.save (testprogram);
tx.commit ();
)
)
Prednosti hibernacijskog zasjedanja
- Sjednica u stanju hibernacije u skladu je s ACID (atomska, konzistentna, izolirana i trajnost) svojstvima baze podataka.
- Njegova je mapiranja objekata dosljedna i na taj način smanjuje puno potencijalnih grešaka i rupa u kodu.
- To je neovisno o bazi podataka, pa čak i ako postoji bilo koja baza podataka poput mySQL ili oracle, ovaj se softver može koristiti.
- Ne treba poznavati SQL, samo osnovno znanje o njemu treba vam pomoći u razumijevanju kako on funkcionira.
- Lako je stvoriti udruge i puno smjernica prisutnih preko mreže. Java se široko koristi s povezivanjem s bazom podataka preko mreže može c = iskoristiti ovaj softver ako se mudro koristi.
- Minimalni kôd se mijenja kad postoje promjene u tablicama jer se sve rukuje putem klase i objekata. Većina koda i funkcionalnosti su generičke, što ga čini dostojnijim za upotrebu u aplikacijama koje imaju veliku ovisnost o transakcijskim podacima.
- Hibernata podržava keširanje na više razina čime se poboljšava učinkovitost kodiranja.
Zaključak
Došlo je do povijesne neusklađenosti podataka i podataka obrađenih putem bilo kojeg programskog jezika izvan baze podataka. Da bi se to riješilo dizajnirano je novo rješenje nazvano "ORM". Podaci koji se sada pohranjuju u tabličnom obliku u bazu podataka mogu se dohvatiti iz baze podataka i njima se može rukovati u obliku objekata u programskom jeziku te na taj način eliminirati uporabu SQL upita.
Preporučeni članci
Ovo je vodič za hibernacijsku sjednicu. Ovdje smo raspravljali o tome što je hibernacija i hibernacija? zajedno s metodama i prednostima. Možete pogledati i sljedeće članke da biste saznali više -
- Hibernacija vs JPA
- Što je CSRF?
- Proljeće protiv proljetne čizme
- Hibernacija vs JDBC