Mikä on Hibernate?

Virallisesti nimellä Hibernate ORM, se on Java-ohjelmointikielen olosuhteiden kartoitustyökalu tai kehys. Se on GNU Lesser General Public License 2.1: n ilmainen ohjelmisto. Sen tarkoituksena on tarjota käyttäjälle kehys käsitellä olosuhteiden impedanssikartoitusta. Se hallitsee myös jatkuvia tietokantakäyttöä erittäin korkean tason objektinkäsittelytoiminnoilla. Se on Java-sovelluksen väliohjelmakehys, jota käytetään olosuhteiden kartoittamiseen ja tehokkaan esineiden pysyvyyden suorittamiseen.

Arkkitehtuuri

Lisätietoja hibernaatiosta on ymmärrettävä sen arkkitehtuurista, joka koostuu:

  • Java-sovelluskoodi koostuu kaikista luokista, muuttujista ja objekteista, jotka määrittelevät sovelluksen liiketoimintalogiikan. Nämä luokat kommunikoivat Hibernaten kanssa.
  • Sitten tulee Hibernate ja sen perusperiaatteet, joiden avulla voimme säilyttää (tallentaa tai tallentaa ja hakea) liiketoimintakerrosluokkiemme objektit kommunikoimalla tietokantapalvelinkerroksen kanssa.
  • Se käyttää Java-ydinsovellusliittymää, Java-tietokantayhteyttä (JDBC), Java-transaktio-sovellusliittymää (JTA), Java-nimeämistä ja hakemistorajapintaa (JNDI) kommunikoidakseen tietokannan kanssa objektin tilan säilyttämiseksi suorittamalla luku, luominen, päivitys, poista (CRUD) toiminnot.

Sitä käytetään periaatteessa kommunikoimaan tietokannan kanssa. Tässä luomme vain joitain entiteettejä, mikä on vain Java-luokkaa, joka luo tietokantataulukon meille tietokantaan.

puitteet

Täällä kohtaamme kysymyksen, miksi käytämme horrostettuja Java-puitteita, jos meillä on jo java-ydinperiaatteet. Joten tässä on vastaus tähän:

  • Käytetyt parhaat JDBC-käsitteet, kuten:
  1. Rowset ResultSet -sovelluksen sijasta
  2. DataSource (yhteyden yhdistäminen) DriverManagerin sijaan
  3. Erätoiminnot yksittäisen toiminnan sijaan
  4. Valmistunut lausunto lausunnon sijasta
  • Hankkeen kehittämiskustannukset pienenevät suureksi tekijäksi.
  • Muistia ei vuoda
  • Yhdistysten, kuten yhdestä moniin, hallinta on yksinkertaista ja helppoa verrattuna työskentelyyn kokoelmaominaisuuksien, kuten java.util.Set, List, Map, kanssa.
  • Koska hibernaatti on ORM-kehys, se saa kaikki edut:
  • Tukee toisen tason välimuistia
  • Kohteesta tulee ennätys ja päinvastoin.
  • Lisäksi tukee objektikyselykieltä (HQL)
  • Tukee useita pääavaingeneraattoreita

Hibernaten ominaisuudet

Joten kyse oli kaikesta Java-hibernate-kehyksestä ja sen arkkitehtuurista. Puhutaanpa viimeisimmän 57 päivää sitten eli 23. helmikuuta 2019 julkaistun horrostilan ominaisuuksista. Red Hat -ohjelmiston kehittämä, se on virtuaalikonealusta, jossa on paljon ominaisuuksia:

  • Se tukee JMX: tä ja JCA: ta.
  • Se tarjoaa ominaisuuden J2EE-integraatiosta.
  • Järjestelmän alustushetkellä se tuottaa SQL: n.
  • Valinnaisesti tarjota sisäisen yhteyden yhdistäminen ja valmis käskyvälimuisti.
  • Se tukee optimistista lukitusta versioinnilla.
  • Se tarjoaa ulomman liitoksen hakemisen.
  • Se esittelee Lazy-alustuksen.
  • Se tarjoaa istuntotason välimuistin ja valinnaisen toisen tason välimuistin.
  • Se tarjoaa kaksikerroksisen välimuistiarkkitehtuurin.
  • Ensisijaisen avaimen automaattinen generointi.
  • Se tukee komposiittinäppäimien kovaa käsitettä.
  • Se tukee omakotitalokonseptia.
  • Se esittelee automaattisen likaisen tarkistuksen konseptin.
  • Se tarjoaa läpinäkyvän pysyvyyden ilman tavukoodin käsittelyä.
  • Se tarjoaa objektin / relaation kartoitukset. Tässä on erilaisia ​​O / R-kartoitusstrategioita moniobjektiona yhden rivin kartoitukseen,
  • Polymorfiset assosiaatiot, kaksisuuntainen assosiaatio, assosiaatioiden suodatus. Se tarjoaa myös XML-kartoitusdokumentteja.
  • Se tarjoaa erilaisia ​​oliokeskeisiä kyselykieliä.
  • Pienin oliokeskeinen Hibernate-kyselykieli (HQL), alkuperäiset SQL-kyselyt
  • Korkea oliokeskeinen kriteerien käsite.

Miksi käytämme Hibernaattia?

Tässä se oli hibernaation viimeisimmät ominaisuudet. Seuraavaksi tulee kysymys siitä, miksi käytämme sitä, joten tässä on syyt, miksi mieluummin käytämme lepotilaa:

  • Transaktioiden hallinta
  • yhdistykset
  • perintö
  • Hibernate välimuisti
  • versiointi
  • Auditointitoiminnot
  • JPA-merkinnän tuki
  • Yhteys yhdistäminen
  • Koe-saalislohkojen välttäminen
  • Vältä laiskaa lastausta
  • Vähentää uusintakoodia

edut

Lyhyesti kaikki hibernaatista, nyt on aika keskustella pääohjelmasta, joka on hibernaatin käytön etuja ja haittoja. Aloittakaamme aiheen lepotilan edut, jotka ovat seuraavat:

  1. ORM - ylläpito on helppoa ja kustannustehokasta.
  2. Läpinäkyvä pysyvyys
  3. Tietokanta riippumaton
  4. HQL - HQL: n edistyneitä ominaisuuksia, kuten sivutus ja dynaaminen profilointi, eivät ole SQL: ssä. Joten voimme käyttää sitä lepotilassa.
  5. Kaksikerroksinen välimuisti
  6. Versioominaisuus
  7. Avoimen lähdekoodin ja ilmainen ohjelmisto
  8. Skaalautuvuus on helppoa
  9. Laiska-lastaus - laiska-latauskonsepti hakee vain tarvittavan objektin, jota tarvitaan sovelluksen suorittamiseen.
  10. Helppo oppia
  11. Tukee myös kokoelmia, kuten Lista, Aseta, Kartta.
  12. kyky tuottaa ensisijaisia ​​avaimia
  13. Hibernate tarjosi murreluokat
  14. Se tukee suhteita, kuten yksi monelle, yksi henkilölle, monesta monelle monelle, monelle yksi.

haitat

Hyödyillä hibernateilla on myös hyvin vähän haittoja. Joten tässä ovat lepotilan haitat:

  1. hiukan hitaampaa kuin puhdas JDBC
  2. kattilalevykoodi
  3. tuottaa useita SQL-käskyjä ajon aikana
  4. Hibernate ei sovellu eräkäsittelyyn
  5. Hibernate on hidasta, koska se käyttää ajoaikaheijastusta
  6. Paljon sovellusliittymää
  7. Joskus virheenkorjaus ja suorituskyvyn viritys vaikeutuvat.
  8. Ei sovellu pieniin projekteihin
  9. Ei salli useita lisäyksiä
  10. Luo monimutkaisia ​​kaivoja monilla liitoksilla
  11. HQL-kyselyt eivät voi kutsua PL / SQL-ohjelmaa

johtopäätös

Joten kaikkien näiden aiheiden kanssa meidän on myös tiedettävä hibernaation tulevaisuudesta. Voimme sanoa, että Hibernate on edelleen hallitseva ORM-työkalu paljon kauemmin, kun otetaan huomioon, että JPA saavuttaa nopeasti. Minusta tuntuu, että Hibernate on JPA: n laajimmin käytetty toteutus (ennen OpenJPA: ta ja EclipseLink: ää), ja myös, että se on natiivi tai ydinsovellusliittymä on edelleen tehokkaampi kuin JPA 2. Pelkästään näistä syistä luulen, että se on olemassa pitkään. aika. On erittäin edullista käyttää Spring MVC: tä lepotilassa, koska se on parhaiten yhteensopiva MVC. Pysyvyyskehyksen, kuten Hibernate, avulla kehittäjät voivat keskittyä liiketoimintalogiikkakoodin kirjoittamiseen sen sijaan, että kirjoittaisi tarkkaa ja hyvää pysyvyyskerrosta, joka sisältää SQL-kyselyiden, JDBC-koodin, yhteydenhallinnan jne. Kirjoittamisen. Joten voin ehdottaa hibernaation käyttöä Java-kehysnä se on näkyvin nykyään käytetty Java-kehys.

Suositellut artikkelit

Tämä on opas Mitä Hibernate on. Tässä keskustellaan lepotilan arkkitehtuurista, ominaisuuksista, puitteista, eduista ja haitoista. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Hibernate-haastattelukysymykset
  2. Mikä on NumPy?
  3. Mikä on avoin ostoskori?
  4. Tuet 2 haastattelukysymystä
  5. Java-nimeämiskäytännöt