Co je Hibernace?

Je oficiálně známý jako Hibernate ORM, jedná se o objektově relační mapovací nástroj nebo rámec pro programovací jazyk Java. Jedná se o svobodný software pod GNU Lesser General Public License 2.1. Jeho cílem je poskytnout uživateli rámec pro zpracování mapování objektově relačních impedancí. Spravuje také trvalý přístup k databázi pomocí funkcí zpracování objektů na vysoké úrovni. Jedná se o middlewarový rámec javy, který se používá pro objektově relační mapování a pro provádění účinné vytrvalosti objektů.

Architektura

Chcete-li se dozvědět více o režimu spánku, musíme porozumět jeho architektuře, která se skládá z:

  • Kód aplikace Java se skládá ze všech tříd, proměnných a objektů, které definují obchodní logiku aplikace. Tyto třídy komunikují s Hibernací.
  • Poté přichází Hibernace a její základní principy, pomocí kterých bychom mohli komunikovat s vrstvou databázového serveru, abychom mohli přetrvávat (ukládat nebo ukládat a získávat) objekty našich tříd obchodních vrstev.
  • Pro komunikaci s databází používá rozhraní Java Core API, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming and Directory Interface (JNDI), aby se udržel stav objektu prováděním čtení, vytváření, aktualizace, operace odstranění (CRUD).

V zásadě se používá pro komunikaci s databází. Zde vytvoříme jen některé entity, což není nic jiného než třída java, která pro nás vytvoří v databázi databázovou tabulku.

Rámec

Zde narazíme na otázku, proč používáme hibernační rámec javy, pokud již máme základní principy javy. Takže zde je odpověď:

  • Používejte nejlepší koncepty JDBC, jako například:
  1. Řádek namísto ResultSet
  2. Zdroj dat (sdružování připojení) namísto DriverManager
  3. Dávkové operace místo jednotlivých operací
  4. PřipravenoStatement místo prohlášení
  • Náklady na vývoj projektu jsou sníženy na velký faktor.
  • Žádné úniky paměti
  • Správa přidružení, jako je one-to-many atd., Je jednoduchá a snadná ve srovnání s prací s vlastnostmi kolekce, jako je java.util.Set, List, Map.
  • Jako rámec ORM získá Hibernate všechny své výhody:
  • Podporuje mezipaměť druhé úrovně
  • Objekt se stává záznamem a naopak.
  • Dále podporuje Object Query Language (HQL)
  • Podporuje více generátorů primárních klíčů

Vlastnosti Hibernate

Takže to bylo všechno o java hibernačním frameworku a jeho architektuře, pojďme mluvit o vlastnostech nejnovějšího hibernačního stáje vydaného před 57 dny, tj. 23. února 2019. Vyvinutý softwarem Red Hat, je to platforma virtuálního stroje se spoustou funkcí:

  • Podporuje JMX a JCA.
  • Poskytuje funkci integrace J2EE.
  • Při inicializaci systému generuje SQL.
  • Volitelně poskytují interní sdružování připojení a připravené ukládání do mezipaměti.
  • Podporuje optimistické zamykání pomocí verzování.
  • Poskytuje vyzvednutí vnějšího spojení.
  • Zavádí inicializaci Lazy.
  • Poskytuje mezipaměť na úrovni relace a volitelnou mezipaměť druhé úrovně.
  • Poskytuje dvouvrstvou architekturu mezipaměti.
  • Automatické generování primárního klíče.
  • Podporuje tvrdý koncept složených klíčů.
  • Podporuje koncept Detached object.
  • Zavádí automatický koncept špinavé kontroly.
  • Poskytuje průhlednou perzistenci bez zpracování bajtového kódu.
  • Poskytuje mapování objektů / relací. Zde jsou různé strategie mapování O / R jako vícenásobné objekty na jednořádkové mapování,
  • Polymorfní asociace, obousměrná asociace, filtrace asociací. Poskytuje také dokumenty mapování XML.
  • Poskytuje různé objektově orientované dotazovací jazyky.
  • Minimální objektově orientovaný dotazovací jazyk Hibernate (HQL), nativní dotazy SQL
  • Vysoký objektově orientovaný koncept kritérií.

Proč používáme Hibernate

Tady to byly všechny nejnovější funkce hibernace. Dále přichází otázka, proč ji používáme, takže zde jsou důvody, proč dáváme přednost použití režimu spánku:

  • Řízení transakcí
  • Asociace
  • Dědictví
  • Hibernace v mezipaměti
  • Verze
  • Funkčnost auditu
  • Podpora anotací JPA
  • Sdružování připojení
  • Vyhýbejte se pokusným úlovkům
  • Vyvarujte se línému zatížení
  • Snižuje opakovací kód

Výhody

Ve stručnosti vše o hibernaci, nyní je čas diskutovat o hlavní agendě, což jsou výhody a nevýhody používání hibernace. Na toto téma začněme s výhodami hibernace, které jsou následující:

  1. ORM - údržba je snadná a nákladově efektivní.
  2. Průhledná perzistence
  3. Databáze nezávislá
  4. HQL - Pokročilé funkce HQL, jako je stránkování a dynamické profilování, nejsou v SQL přítomny. Můžeme to tedy použít v režimu spánku.
  5. Dvouvrstvá mezipaměť
  6. Vlastnost verze
  7. Open Source a svobodný software
  8. Škálovatelnost je snadná
  9. Lazy-Loading - Koncept líného načítání načítá pouze nezbytný objekt, který je vyžadován pro provedení aplikace.
  10. Jednoduché se naučit
  11. Podporuje také sbírky jako List, Set, Map.
  12. schopnost generovat primární klíče
  13. Hibernace poskytovala dialektové třídy
  14. Podporuje vztahy, jako je One-to-Many, One-to-One, Many-To-Many-Many, Many-To-One

Nevýhody

S výhodami má hibernace také velmi méně nevýhod. Tady jsou tedy nevýhody hibernace:

  1. trochu pomaleji než čistě JDBC
  2. vydání kódu kotlové desky
  3. generovat mnoho příkazů SQL za běhu
  4. Hibernace není vhodná pro zpracování šarží
  5. Hibernace je pomalá, protože používá odraz doby běhu
  6. Spousta API se učit
  7. Ladění a ladění výkonu se někdy stává obtížným.
  8. Nevhodné pro malé projekty
  9. Nepovoluje vícenásobné vložení
  10. Vytváří složité dotazy s mnoha spojeními
  11. Dotazy HQL nemohou volat program PL / SQL

Závěr

Takže se všemi těmito tématy musíme také vědět o budoucnosti hibernace. Můžeme říci, že Hibernate bude stále ještě dominantním nástrojem ORM, protože JPA rychle dohání. Mám dojem, že Hibernate je nejrozšířenější implementací JPA (před OpenJPA a EclipseLink), a také to, že je nativní nebo základní API je stále silnější než JPA 2. Jen z těchto důvodů si myslím, že to bude asi dlouho čas. Je velmi výhodné používat Spring MVC v režimu spánku, protože je nejkompatibilnější MVC. Použití rámce vytrvalosti, jako je režim Hibernate, umožňuje vývojářům soustředit se na psaní kódu obchodní logiky namísto psaní přesné a dobré vrstvy vytrvalosti, která zahrnuje psaní dotazů SQL, kódu JDBC, správy připojení atd. Takže mohu navrhnout použití režimu hibernace jako rámce java jako je to nejvýznamnější java framework používaný v dnešní době.

Doporučené články

Toto byl průvodce programem What is Hibernate. Zde diskutujeme o architektuře, funkcích, rámci, výhodách a nevýhodách režimu spánku. Další informace naleznete také v následujících článcích -

  1. Hibernate Interview Otázky
  2. Co je NumPy?
  3. Co je otevřený košík?
  4. Struts 2 Interview Otázky
  5. Konvence pojmenování Java

Kategorie: