Č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:
- Sada riadkov namiesto ResultSet
- Zdroj údajov (združovanie pripojení) namiesto DriverManager
- Dávkové operácie namiesto jednotlivých operácií
- 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:
- ORM - údržba je jednoduchá a nákladovo efektívna.
- Transparentná perzistencia
- Databáza nezávislá
- 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.
- Dvojvrstvové vyrovnávacie pamäte
- Vlastnosť verzie
- Open Source a slobodný softvér
- Škálovateľnosť je jednoduchá
- Lazy-Loading - Koncept lenivého načítania vyvoláva iba potrebný objekt, ktorý je potrebný na vykonanie aplikácie.
- Ľahko sa učí
- Podporuje tiež zbierky ako Zoznam, Nastaviť, Mapa.
- schopnosť generovať primárne kľúče
- Hibernate poskytoval dialektové triedy
- 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:
- trochu pomalšie ako čistý JDBC
- vydanie kódu kotlovej dosky
- generovať veľa príkazov SQL v čase vykonávania
- Hibernát nie je vhodný na spracovanie šarže
- Režim dlhodobého spánku je pomalý, pretože používa odraz v čase behu
- Veľa API sa učiť
- Ladenie a ladenie výkonu sa niekedy stáva ťažkým.
- Nie je vhodné pre malé projekty
- Nepovoľuje viac vložení
- Vytvára zložité otázky s mnohými spojeniami
- 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 -
- Hibernate Interview Otázky
- Čo je NumPy?
- Čo je otvorený košík?
- Rozpravy 2 Rozhovorové otázky
- Konvencie pomenovávania Java