Úvod do režimu spánku
Existuje mnoho objektově orientovaných programovacích jazyků, které mají své vlastní syntaxe a knihovny, zatímco na druhé straně, celá data, která ukládáme do backendu, jsou založena na relačním modelu, který má zcela odlišné protokoly a syntaxe, které je třeba dodržovat. Hibernace je jednou z middlewarových platforem, které tuto mezeru překlenují. Tuto middlewarovou aplikaci jsem nazval Object Relational Mapping (ORM). Máme různé nástroje ORM jako Hibernate, IBatis, Toplink a mnoho dalších. V tomto článku se zaměříme na režim Hibernace a jeho zasedání.
Co je Hibernace?
Je to nástroj ORM používaný k propojení a mapování objektů v aplikační vrstvě do databáze pro programovací jazyk JAVA. Je postaven tak, aby zvládl nesoulad impedance mezi typickým programovacím jazykem a relační databází. Jedná se o bezplatný software s licencí GNU, který lze snadno stáhnout z internetu.
Hibernace je rozšíření JAVA persistence API. Podporuje jazyk Hibernate Query (HQL). Hlavní úlohou Hibernate je propojit objekty a třídy JAVA s databázovými třídami prostřednictvím struktury XML nebo anotací JAVA. Podobně by se datové typy JAVA měly shodovat s datovými typy databáze, aby mezi dvěma různými systémy došlo k nesprávné komunikaci. Režim Hibernace lze použít k extrahování dat pomocí dotazů. Může generovat volání SQL a tím zmírňovat manuální chyby a práci vývojářů. Existují různé vestavěné funkce v režimu spánku pro snadné použití, například:
load (), update (), get (), merge (): Pokud jsme si jisti, že objekt existuje, použijeme tuto funkci k načtení hibernačního objektu, jinak použijeme funkci get (). Funkce aktualizace a slučování se používají k aktualizaci databázových záznamů na základě aktuálních relací, které již existují, nebo jsme pro transakci zcela novými relacemi. Existuje mnoho dalších funkcí, jako je tato, na podporu režimu spánku.
Co je Hibernace?
Jedná se o běhové rozhraní mezi aplikací a Hibernacemi, které je vytvořeno na vyžádání. Jinými slovy poskytuje propojení mezi vaší aplikací a databází. Nabízí různé funkce, jako je vytváření, mazání, získávání a aktualizace pro práci s databází pomocí metod relace, které existují ve čtyřech státech, a to: přechodné, trvalé a odpojené, odstraněné.
Hibernate vytvořil sloužit tomuto účelu. Hladce propojuje databázi s jazykem java bez ohledu na jakoukoli databázi. Dodává se s flexibilními funkcemi, a tak podporuje flexibilitu zpracování dat na různých platformách.
Metody hibernace
- Save (): Save () metoda vygeneruje primární klíč a vloží záznam do databáze. Je to podobné metodě persist () v JPA, ale v oddělené instanci se chová jinak, když vytvoří duplicitní záznam při potvrzení databáze.
- Update (): Update () se používá k aktualizaci existujícího záznamu databáze. Vrací výjimku, pokud záznam nebyl nalezen nebo vyvolán v přechodné instanci.
- saveOrUpdate (): Uloží nebo aktualizuje databázi na základě předané entity. Nevrátí výjimku v přechodném stavu, ale způsobí, že tento stav bude během operace databáze trvalý.
- merge (): Hodnoty z odpojené entity se aktualizují do databáze, když se sloučení () použije změnou odpojené entity do trvalého stavu.
- delete (): Metoda delete pracuje v perzistentním režimu pro odebrání entity z databáze. Pokud není v databázi nalezen žádný záznam, je vrácena výjimka.
Jak vytvořit režim spánku?
Aby bylo možné vytvořit relaci hibernace, musíme načíst závislosti hibernace do knihovny nástroje, který používáte, spolu s databázovým konektorem. Jakmile jsou tyto knihovny načteny, můžeme navázat spojení vytvořením relace pomocí továrny relací.
Předpokládejme, že máme tabulku se dvěma sloupci: ID zaměstnance a Jméno zaměstnance, které by mělo být aktualizováno.
Úryvek kódu:
veřejná třída testclasshibernate // prohlášení o třídě.
(
public static void main (string () args) // Hlavní spuštění programu začíná odtud.
(
testprogram = nový program (); // Zde je třída objektivizovaná a poté je tento objekt použit jako reference k odeslání hodnot, jako je jméno zaměstnance a ID zaměstnance, které je třeba importovat do databázové tabulky.
program.setEmpId (101);
program.setEmpName („User1“);
Konfigurace con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Vytvoření továrny relace pomocí konfigurace
SessionFactory sf1 = con.buildsessionfactory ();
// Otevřená metoda relace dává předmět relace.
Relace s1 = sf.OpenSession ();
// Zahájení transakce
Transakce t1 = session.beginTransaction ();
session.save (testovací program);
tx.commit ();
)
)
Výhody hibernace
- Hibernační relace odpovídá vlastnostem databáze ACID (Atomicity, Consistency, Isolation a Durability).
- Jeho mapování objektů je konzistentní, a tak snižuje mnoho potenciálních chyb a mezer v kódu.
- Je nezávislý na databázi, takže i když existuje nějaká databáze jako mySQL nebo Oracle, může být tento software použit.
- Není třeba znát SQL, pouze základní znalosti o něm by vám měly pomoci pochopit, jak to funguje.
- Snadno vytvářet asociace a spousta pokynů přítomných po síti. Java používaná široce s přidružením k databázi přes síť může c = co nejlépe využít tento software, pokud je používán moudře.
- Minimální změny kódu, když dojde ke změnám v tabulkách, protože vše je řešeno prostřednictvím třídy a objektů. Většina kódu a funkcí je obecná, což je činí vhodnějšími pro použití v aplikacích, které mají velkou závislost na transakčních datech.
- Hibernace podporuje víceúrovňové ukládání do mezipaměti, čímž zvyšuje účinnost kódování.
Závěr
Došlo k historickému rozporu databázových dat a dat zpracovávaných prostřednictvím jakéhokoli programovacího jazyka mimo databázi. Pro vyřešení tohoto problému bylo navrženo nové řešení nazvané „ORM“. Data, která jsou nyní uložena ve formě tabulky v databázi, lze nyní získat z databáze a lze s nimi manipulovat ve formě objektů v programovacím jazyce, čímž se eliminuje použití dotazů SQL.
Doporučené články
Toto je průvodce Hibernate Session. Zde diskutujeme o tom, co je hibernace a hibernace? spolu s metodami a výhodami. Další informace naleznete také v následujících článcích -
- Hibernace vs. JPA
- Co je CSRF?
- Jarní vs Jarní bota
- Hibernace vs. JDBC