Što je hibernacija?

Službeno poznat kao Hibernate ORM, to je objektno-relacijsko sredstvo za mapiranje ili okvir za programski jezik Java. To je besplatni softver pod GNU Lesser General Public License 2.1. Cilj je pružiti korisniku okvir za obradu objektno-relacijskog preslikavanja impedancije. Također upravlja postojanim pristupima bazi podataka s vrlo visokim funkcijama rukovanja objektima. To je srednji softverski program jave koji se koristi za objektno-relacijsko mapiranje i za učinkovito djelovanje upornosti.

Arhitektura

Da bismo saznali više o stanju hibernacije moramo razumjeti njegovu arhitekturu koja se sastoji od:

  • Java-kod aplikacije sastoji se od svih klasa, varijabli i objekata koji definiraju poslovnu logiku aplikacije. Ove klase komuniciraju sa hibernacijom.
  • Zatim dolazi hibernacija i njezina osnovna načela, pomoću kojih bismo mogli ustrajati (pohraniti ili spremiti i dohvatiti) predmete klase našeg poslovnog sloja komunicirajući sa slojem poslužitelja baze podataka.
  • Za komuniciranje s bazom podataka koristi Java core API, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming i Directory Interface (JNDI) kako bi ustrajao u stanju objekta izvođenjem čitanja, stvaranja, ažuriranja, brisanje (CRUD) operacije.

U osnovi se koristi za komunikaciju s bazom podataka. Ovdje samo stvaramo neke cjeline, što nije ništa drugo nego java klasa koja će za nas stvoriti tablicu baze podataka u bazi podataka.

Okvir

Ovdje nailazimo na pitanje zašto koristimo hibernacijski okvir jave ako već imamo temeljne principe jave. Dakle, evo odgovora na to:

  • Korišteni su najbolji koncepti JDBC kao što su:
  1. Rowset umjesto ResultSet
  2. DataSource (udruživanje veza) umjesto DriverManager
  3. Paketne operacije umjesto pojedinačnih
  4. PreparedStatement umjesto Izjava
  • Troškovi razvoja projekata svode se na veliki faktor.
  • Nema propuštanja memorije
  • Upravljanje udruženjima kao što su jedan na mnoštvo itd. Su jednostavna i laka u usporedbi s radom sa svojstvima kolekcije poput java.util.Set, Popis, Karta.
  • Budući da je ORM okvir, hibernacija će dobiti sve svoje prednosti:
  • Podržava predmemoriju druge razine
  • Predmet postaje zapis i obrnuto.
  • Dodatno podržava jezik upita objekta (HQL)
  • Podržava više generatora primarnih ključeva

Značajke hibernacije

Dakle, sve je bilo o java hibernacijskom okviru i njegovoj arhitekturi, ajmo razgovarati o značajkama najnovije hibernatske stabilnice objavljene prije 57 dana, tj. 23. veljače 2019. Razvijen od strane softvera Red Hat, virtualna je platforma stroja s puno značajki:

  • Podržava JMX i JCA.
  • Pruža značajku J2EE integracije.
  • U vrijeme inicijalizacije sustava generira SQL.
  • Po želji osigurajte interno spajanje veze i spremanje spremljenih izjava.
  • Podržava optimistično zaključavanje s inačicom.
  • Omogućuje dohvaćanje vanjskog spajanja.
  • Uvodi laznu inicijalizaciju.
  • Pruža cache razine sesije i izborni predmemoriju druge razine.
  • Omogućuje dvoslojnu arhitekturu predmemorije.
  • Automatska generacija primarnog ključa.
  • Podržava čvrst koncept složenih tipki.
  • Podržava koncept Odvojenog objekta.
  • Uvodi koncept automatske prljave provjere.
  • Pruža transparentnu postojanost bez obrade bajtova.
  • Omogućuje mapiranje objekata i relacija. Ovdje su različite strategije O / R preslikavanja kao više objekata za mapiranje u jednom retku,
  • Polimorfne asocijacije, dvosmjerno udruživanje, filtriranje asocijacija. Također nudi dokumente XML mapiranja.
  • Pruža različite jezike upita orijentirane prema objektima.
  • Minimalni objektno orijentirani hibernacijski jezik upita (HQL), izvorni SQL upiti
  • Visok objektno orijentirani pojam kriterija.

Zašto koristimo hibernaciju

Ovdje su bile sve najnovije značajke hibernacije. Slijedi pitanje zašto ga koristimo, pa evo razloga zbog kojih radimo hibernaciju:

  • Upravljanje transakcijama
  • udruge
  • baština
  • Hibernacijsko predmemoriranje
  • Verziranje
  • Funkcija revizije
  • Podrška za napomene JPA
  • Spajanje veze
  • Izbjegavanje blokova pokušaja hvatanja
  • Izbjegavajte lijeno opterećenje
  • Smanjuje kod ponavljanja

prednosti

Ukratko govoreći o stanju hibernacije, sada je vrijeme da se razgovara o glavnom programu koji su prednosti i nedostaci korištenja hibernacije. Pokrenimo temu pokrenimo od prednosti hibernacije koje su sljedeće:

  1. ORM - održavanje je jednostavno i isplativo.
  2. Prozirna postojanost
  3. Baza podataka neovisna
  4. HQL - Napredne značajke HQL-a kao što su paginacija i dinamičko profiliranje nisu prisutne u SQL-u. Tako da ga možemo koristiti u stanju hibernacije.
  5. Dvoslojno predmemoriranje
  6. Svojstvo verzije
  7. Open Source i besplatni softver
  8. Skalabilnost je jednostavna
  9. Lazy-Loading - Koncept laznog punjenja dohvaća samo potrebni objekt koji je potreban za izvršavanje aplikacije.
  10. Lako za učenje
  11. Također podržava zbirke kao što su Popis, Postavljanje, Karta.
  12. sposobnost generiranja primarnih ključeva
  13. Hibernacija je osigurala satove dijalekta
  14. Podržava odnose poput jedan-mnogima, jedan-jedan-jedan, mnogo-mnogima-mnogima, mnogima-jednom

Nedostaci

Uz prednosti, hibernacija također ima vrlo manje nedostataka. Dakle, ovdje su nedostaci hibernacije:

  1. malo sporije od čistog JDBC-a
  2. pitanje koda ploče
  3. generiraju mnoge SQL izjave u toku rada
  4. Hibernacija nije prikladna za serijsku obradu
  5. Hibernacija je spora jer koristi refleksiju vremena izvođenja
  6. Puno API-ja za naučiti
  7. Ponekad uklanjanje pogrešaka i podešavanje performansi postaje teško.
  8. Nije pogodno za male projekte
  9. Ne dopušta više umetaka
  10. Stvara složene quires s puno pridruživanja
  11. HQL upiti ne mogu pozvati PL / SQL program

Zaključak

Dakle, sa svim tim pokrivenim temama također moramo znati o budućnosti hibernacije. Možemo reći da će hibernacija još dugo biti dominantan alat ORM-a s obzirom na to da JPA brzo nadolazi. Moj dojam je da je hibernacija najčešće korištena implementacija JPA (prije OpenJPA i EclipseLink), a isto tako je to što je izvorni ili core API još uvijek moćniji od JPA 2. Samo iz tih razloga mislim da će to biti dovoljno dugo vrijeme. Vrlo je poželjno koristiti Spring MVC u stanju hibernacije jer je on najkompatibilniji MVC. Korištenje trajnog okvira kao što je Hibernate omogućava programerima da se usredotoče na pisanje poslovnog logičkog koda umjesto na pisanje točnog i dobrog postojanog sloja koji uključuje pisanje SQL upita, JDBC koda, upravljanje vezama itd. Tako da mogu predložiti korištenje hibernacije kao java okvira kao to je najistaknutiji java okvir koji se danas koristi.

Preporučeni članci

Ovo je vodič za Stanje hibernacije. Ovdje raspravljamo o arhitekturi, značajkama, okviru, prednostima i nedostacima hibernacije. Možete također pogledati sljedeće članke da biste saznali više -

  1. Pitanja o hibernaciji za intervju
  2. Što je NumPy?
  3. Što je otvorena košarica?
  4. Struts 2 Intervju Pitanja
  5. Java Konvencije o imenovanju

Kategorija: