Čo je režim dlhodobého spánku? - Architektúra a rámec Vlastnosti a výhody

Obsah:

Anonim

Čo je režim dlhodobého spánku?

Je oficiálne známy ako Hibernate ORM a je to objektovo-relačný mapovací nástroj alebo rámec pre programovací jazyk Java. Je to slobodný softvér na základe GNU Lesser General Public License 2.1. Jeho cieľom je poskytnúť používateľovi rámec na spracovanie mapovania objektovo-relačných impedancií. Spravuje tiež trvalý prístup k databáze pomocou funkcií na vysokej úrovni spracovania objektov. Je to middlewarový rámec javy, ktorý sa používa na objektovo-relačné mapovanie a na vykonávanie efektívneho pretrvávania objektov.

architektúra

Aby sme sa dozvedeli viac o hibernáte, musíme porozumieť jeho architektúre, ktorá obsahuje:

  • Aplikačný kód Java sa skladá zo všetkých tried, premenných a objektov, ktoré definujú obchodnú logiku aplikácie. Tieto triedy komunikujú s Hibernátom.
  • Potom prichádza režim dlhodobého spánku a jeho základné princípy, pomocou ktorých by sme mohli komunikáciou s vrstvou databázového servera vytrvať (uložiť alebo uložiť a načítať) objekty našich tried obchodných vrstiev.
  • Používa Java Core API, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming and Directory Interface (JNDI) na komunikáciu s databázou, aby pretrvával stav objektu vykonávaním čítania, vytvárania, aktualizácie, vymazať (CRUD) operácie.

V zásade sa používa na komunikáciu s databázou. Tu len vytvárame niektoré entity, čo nie je nič iné ako trieda java, ktorá nám vytvorí databázovú tabuľku v databáze.

rámec

Tu narazíme na otázku, prečo používame hibernačný rámec javy, ak už máme základné princípy javy. Takže tu je odpoveď na to:

  • Používajte najlepšie koncepty JDBC, ako napríklad:
  1. Sada riadkov namiesto ResultSet
  2. Zdroj údajov (združovanie pripojení) namiesto DriverManager
  3. Dávkové operácie namiesto jednotlivých operácií
  4. Pripravený štát namiesto vyhlásenia
  • Náklady na vývoj projektu sa výrazne znížia.
  • Žiadne úniky pamäte
  • Spravovanie priradení, ako je napríklad počet osôb atď., Je jednoduché a ľahké v porovnaní s prácou s vlastnosťami kolekcie, ako je java.util.Set, List, Map.
  • Ako rámec ORM získa Hibernate všetky svoje výhody:
  • Podporuje vyrovnávaciu pamäť druhej úrovne
  • Objekt sa stáva záznamom a naopak.
  • Ďalej podporuje jazyk Object Query Language (HQL)
  • Podporuje viac generátorov primárnych kľúčov

Funkcie režimu dlhodobého spánku

Takže to bolo všetko o java hibernačnom rámci a jeho architektúre, poďme hovoriť o vlastnostiach najnovšej hibernácie, ktorá bola vydaná pred 57 dňami, tj 23. februára 2019. Vyvinutá softvérom Red Hat, je to platforma virtuálnych strojov s množstvom funkcií:

  • Podporuje JMX a JCA.
  • Poskytuje funkciu integrácie J2EE.
  • V čase inicializácie systému generuje SQL.
  • Voliteľne poskytujú interné združovanie pripojení a pripravené ukladanie údajov do pamäte cache.
  • Podporuje optimistické uzamykanie verziou.
  • Poskytuje vonkajšie spojenie.
  • Zavádza inicializáciu Lazy.
  • Poskytuje vyrovnávaciu pamäť na úrovni relácie a voliteľnú vyrovnávaciu pamäť druhej úrovne.
  • Poskytuje dvojvrstvovú architektúru vyrovnávacej pamäte.
  • Automatické generovanie primárneho kľúča.
  • Podporuje tvrdý koncept zložených kľúčov.
  • Podporuje koncept detašovaných objektov.
  • Zavádza koncepciu automatickej kontroly špinavosti.
  • Poskytuje transparentnú perzistenciu bez spracovania bajtového kódu.
  • Poskytuje mapovanie objektov / vzťahov. Tu sú rôzne stratégie mapovania O / R ako viacnásobné objekty na jednoradové mapovanie,
  • Polymorfné asociácie, obojsmerné asociácie, filtrovanie asociácií. Poskytuje tiež dokumenty mapovania XML.
  • Poskytuje rôzne objektovo orientované vyhľadávacie jazyky.
  • Minimálny objektovo orientovaný jazyk hibernácie dotazu (HQL), natívne dotazy SQL
  • Vysoko objektovo orientovaný koncept kritérií.

Prečo používame režim dlhodobého spánku

Tu to boli všetky najnovšie funkcie zimného spánku. Nasleduje otázka, prečo ju používame, a preto uvádzame dôvody, prečo uprednostňujeme používanie režimu dlhodobého spánku:

  • Riadenie transakcií
  • združenie
  • dedičstvo
  • Dlhodobý spánok do režimu dlhodobého spánku
  • Verziovanie
  • Funkčnosť auditu
  • Podpora anotácií JPA
  • Združovanie pripojení
  • Vyhýbanie sa pokusným blokom
  • Vyvarujte sa lenivému zaťaženiu
  • Znižuje počet opakovaní kódu

výhody

V skratke všetko o hibernáte, teraz je čas diskutovať o hlavnej agende, ktorou sú výhody a nevýhody používania hibernácie. V rámci tejto témy začíname s výhodami režimu dlhodobého spánku, ktoré sú tieto:

  1. ORM - údržba je jednoduchá a nákladovo efektívna.
  2. Transparentná perzistencia
  3. Databáza nezávislá
  4. HQL - pokročilé funkcie HQL, ako napríklad stránkovanie a dynamické profilovanie, sa v SQL nenachádzajú. Takže ho môžeme použiť v režime dlhodobého spánku.
  5. Dvojvrstvové vyrovnávacie pamäte
  6. Vlastnosť verzie
  7. Open Source a slobodný softvér
  8. Škálovateľnosť je jednoduchá
  9. Lazy-Loading - Koncept lenivého načítania vyvoláva iba potrebný objekt, ktorý je potrebný na vykonanie aplikácie.
  10. Ľahko sa učí
  11. Podporuje tiež zbierky ako Zoznam, Nastaviť, Mapa.
  12. schopnosť generovať primárne kľúče
  13. Hibernate poskytoval dialektové triedy
  14. Podporuje vzťahy ako jeden k mnohému, jeden k jednému, veľa k mnohým, veľa k jednému

nevýhody

Vďaka výhodám má hibernácia tiež veľmi menšie nevýhody. Takže tu sú nevýhody hibernácie:

  1. trochu pomalšie ako čistý JDBC
  2. vydanie kódu kotlovej dosky
  3. generovať veľa príkazov SQL v čase vykonávania
  4. Hibernát nie je vhodný na spracovanie šarže
  5. Režim dlhodobého spánku je pomalý, pretože používa odraz v čase behu
  6. Veľa API sa učiť
  7. Ladenie a ladenie výkonu sa niekedy stáva ťažkým.
  8. Nie je vhodné pre malé projekty
  9. Nepovoľuje viac vložení
  10. Vytvára zložité otázky s mnohými spojeniami
  11. HQL dotazy nemôžu volať program PL / SQL

záver

Takže pri všetkých týchto témach musíme tiež vedieť o budúcnosti hibernácie. Môžeme povedať, že režim dlhodobého spánku bude ešte stále dominantným nástrojom ORM vzhľadom na to, že JPA rýchlo doháňa. Mám dojem, že Hibernate je najrozšírenejšou implementáciou JPA (pred OpenJPA a EclipseLink) a tiež to, že je natívne alebo základné API stále výkonnejšie ako JPA 2. Z týchto dôvodov si myslím, že to bude asi dosť dlho čas. Je veľmi výhodné používať jarné MVC v režime dlhodobého spánku, pretože je to najkompatibilnejšie MVC. Použitie rámca perzistencie ako Hibernate umožňuje vývojárom zamerať sa na písanie obchodných logických kódov namiesto toho, aby napísali presnú a dobrú vrstvu perzistencie, ktorá zahŕňa písanie SQL dotazov, JDBC kódu, správu pripojení, atď. je to najvýznamnejší java rámec používaný v súčasnosti.

Odporúčané články

Toto bol návod na Čo je to Hibernacia. Tu diskutujeme architektúru, funkcie, rámec, výhody a nevýhody režimu dlhodobého spánku. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Hibernate Interview Otázky
  2. Čo je NumPy?
  3. Čo je otvorený košík?
  4. Rozpravy 2 Rozhovorové otázky
  5. Konvencie pomenovávania Java