50 nejčastějších otázek k pohovoru o režimu spánku (2025)
Zde jsou otázky a odpovědi na pohovor Hibernate pro začátečníky i zkušené kandidáty, aby získali svou vysněnou práci.
1. Co je to Hibernace?
Hibernate je populární framework Java, který umožňuje efektivní objektově relační mapování pomocí konfiguračních souborů ve formátu XML. Po mapování java objektů do databázových tabulek je databáze používána a zpracovávána pomocí Java objektů bez psaní složitých databázových dotazů.
Zdarma ke stažení ve formátu PDF: Otázky a odpovědi k rozhovoru v režimu spánku
2. Co je ORM?
ORM (Object Relational Mapping) je základní koncept rámce Hibernate, který mapuje databázové tabulky pomocí objektů Java a poté poskytuje různé API's provádět různé typy operací s datovými tabulkami.
3. Jak jsou vlastnosti třídy mapovány na sloupce databázové tabulky v Hibernate?
Mapování mezi vlastnostmi třídy a sloupci tabulky jsou specifikována v XML soubor jako v níže uvedeném příkladu:
4. Jaké je použití konfiguračního rozhraní v režimu spánku?
Konfigurační rozhraní hibernate frameworku se používá ke konfiguraci hibernace. To je také zvyklé bootstrap přezimovat. Mapovací dokumenty hibernace jsou umístěny pomocí tohoto rozhraní.
5. Jak můžeme použít nová uživatelská rozhraní ke zlepšení funkčnosti vestavěných rozhraní hibernace?
Můžeme použít rozšiřující rozhraní, abychom přidali jakoukoli požadovanou funkcionalitu, která není podporována vestavěnými rozhraními.
6. Měly by všechny mapovací soubory hibernace mít příponu .hbm.xml, aby správně fungovaly?
Ne, mít příponu .hbm.xml je konvence a nikoli požadavek pro názvy souborů mapování v režimu spánku. Pro tyto mapovací soubory můžeme mít libovolnou příponu.
7. Jak vytvoříme továrnu relací v režimu spánku?
Chcete-li vytvořit továrnu relací v režimu spánku, nejprve se vytvoří objekt konfigurace, který odkazuje na cestu konfiguračního souboru, a poté se pro tuto konfiguraci vytvoří továrna relací, jak je uvedeno v příkladu níže:
Configuration config = new Configuration(); config.addResource("myinstance/configuration.hbm.xml"); config.setProperties( System.getProperties() ); SessionFactory sessions = config.buildSessionFactory();
8. Co jsou POJO a jaký je jejich význam?
POJO (Plastý starý Java objekt) jsou java beans se správnými metodami getter a setter pro každou vlastnost.
Použití POJO místo jednoduchých tříd Java vede k efektivnímu a dobře postavenému kódu.
9. Co je to HQL?
HQL je dotazovací jazyk používaný v Hibernate, který je rozšířením SQL. HQL je velmi efektivní, jednoduchý a flexibilní dotazovací jazyk pro provádění různých typů operací s relační databází bez psaní složitých databázových dotazů.
10. Jak můžeme vyvolat uložené procedury v režimu spánku?
V režimu hibernace můžeme spouštět uložené procedury pomocí kódu, jak je uvedeno níže:
11. Co je kritéria API?
Criteria je jednoduché, ale výkonné API režimu spánku, které se používá k načítání entit prostřednictvím složení objektů kritérií.
12. Jaké jsou výhody použití šablony Hibernate?
Níže jsou uvedeny některé klíčové výhody použití šablony Hibernate:
A. Uzavření relace je automatické.
b. Interakce s relací hibernace je zjednodušená.
C. Vyřizování výjimek je automatizované.
13. Jak můžeme vidět hibernaci generované SQL na konzoli?
Abychom umožnili zobrazení SQL na konzole pro účely ladění, musíme do konfiguračního souboru hibernace přidat následující:
14. Jaké jsou dva typy sbírek v režimu spánku?
Níže jsou uvedeny dva typy sbírek v režimu spánku:
- Seřazená sbírka
- Vyzvednutí objednávky
15. Jaký je rozdíl mezi metodami session.save() a session.saveOrUpdate() v režimu spánku?
Metoda Sessionsave(). uloží záznam pouze v případě, že je jedinečný vzhledem k jeho primárnímu klíči, a nepodaří se jej vložit, pokud primární klíč již v tabulce existuje.
saveOrUpdate() metoda vloží nový záznam, pokud je primární klíč jedinečný, a aktualizuje existující záznam, pokud primární klíč již v tabulce existuje.
16. Jaké jsou výhody režimu hibernace? JDBC?
- Hibernate lze bez problémů použít s jakýmkoli typem databáze jako nezávislou na databázi, zatímco v případě JDBC musí vývojář psát dotazy specifické pro databázi.
- Při použití hibernace nemusí být vývojář odborníkem na psaní složitých dotazů, protože HQL zjednodušuje proces psaní dotazů, zatímco v případě JDBC je jeho úkolem vývojáře psát a ladit dotazy.
- V případě hibernace není nutné vytvářet fondy připojení, protože režim hibernace provádí veškerou správu připojení automaticky, zatímco v případě JDBC je třeba fondy připojení vytvořit.
17. Jak můžeme získat statistiky hibernace?
Statistiky hibernace můžeme získat pomocí metody getStatistics() třídy SessionFactory, jak je uvedeno níže:
SessionFactory.getStatistics()
18. Co je to přechodný stav instance v Hibernate?
Pokud instance není přidružena k žádnému trvalému kontextu a také nikdy nebyla přidružena k žádnému trvalému kontextu, pak se říká, že je v přechodném stavu.
19. Jak můžeme v režimu Hibernate zkrátit dobu zápisu do databáze?
Hibernate poskytuje funkci špinavé kontroly, kterou lze použít ke zkrácení doby zápisu do databáze. Funkce špinavé kontroly hibernace aktualizuje pouze ta pole, která vyžadují změnu, zatímco ostatní ponechává beze změny.
20. Jaké je použití rozhraní zpětného volání v režimu spánku?
Rozhraní zpětného volání hibernace jsou užitečná při přijímání upozornění na události z objektů. Například, když je objekt načten nebo odstraněn, je vygenerována událost a odesláno upozornění pomocí rozhraní zpětného volání.
21. Když instance přejde do odděleného stavu v hibernaci?
Když byla instance dříve přidružena k nějakému trvalému kontextu (např. tabulka) a již není přidružena, je volána, aby byla v odpojeném stavu.
22. Jaké čtyři úrovně ORM jsou v režimu spánku?
Níže jsou uvedeny čtyři úrovně ORM v režimu spánku:
- Čistě relační
- Mapování světelných objektů
- Střední mapování objektů
- Úplné mapování objektů
23. Co je to správa transakcí v režimu spánku? Jak to funguje?
Správa transakcí je proces správy sady příkazů nebo příkazů. V hibernaci; správa transakcí se provádí transakčním rozhraním, jak je znázorněno v níže uvedeném kódu:
Session s = null;
Transaction tr = null;
try {
s = sessionFactory.openSession();
tr = s.beginTransaction();
doTheAction(s);
tr.commit();
} catch (RuntimeException exc) {
tr.rollback();
} finally {
s.close();
}
24. Jaké jsou dvě metody konfigurace hibernace?
Pro konfiguraci hibernace můžeme použít kteroukoli z následujících dvou metod:
- Konfigurace založená na XML (pomocí souboru hibernate.cfg.xml)
- Programatická konfigurace (pomocí logiky kódu)
25. Jaká je výchozí služba mezipaměti hibernace?
Hibernate podporuje více služeb mezipaměti, jako je EHCache, OSCache, SWARMCache a TreeCache a výchozí mezipaměťová služba hibernace je EHCache.
26. Jaké jsou dvě mapovací asociace používané v hibernaci?
V hibernaci; máme následující dva typy mapovacích přidružení mezi entitami:
- One-to-One sdružení
- Sdružení Many-to-Many
27. Jaké je použití Hibernate QBC API?
Hibernate Query By Criteria (QBC) API se používá k vytváření dotazů manipulací s objekty kritérií za běhu.
28. Kolika způsoby mohou být objekty načteny z databáze v režimu spánku?
Hibernate poskytuje následující čtyři způsoby, jak načíst objekty z databáze:
- Pomocí HQL
- Použití identifikátoru
- Použití Criteria API
- Použití standardního SQL
29. Jak se vytvoří primární klíč pomocí režimu spánku?
Primární klíč databáze je uveden v konfiguračním souboru hbm.xml. Generátor lze také použít k určení způsobu vytváření primárního klíče v databázi.
V níže uvedeném příkladu deptId funguje jako primární klíč:
30. Jak můžeme v Hibernate znovu připojit jakékoli oddělené objekty?
Objekty, které byly odpojeny a již nejsou přidruženy k žádným trvalým entitám, lze znovu připojit voláním metody session.merge() třídy relace.
31. Jaké jsou různé způsoby, jak zakázat mezipaměť druhé úrovně režimu spánku?
Mezipaměť druhé úrovně režimu spánku lze zakázat některým z následujících způsobů:
- Nastavením use_second_level_cache na hodnotu false.
- Pomocí CACHEMODE.IGNORE
- Použití poskytovatele mezipaměti jako org.hibernate.cache.NoCacheProvider
32. Co jsou metadata ORM?
Veškeré mapování mezi třídami a tabulkami, vlastnostmi a sloupci, typy Java a typy SQL atd. je definováno v metadatech ORM.
33. Která z nich je výchozí továrnou na transakce v režimu spánku?
S hibernací 3.2 je výchozí továrnou transakcí JDBCTransactionFactory.
34. Jaká je role JMX v hibernaci?
Java aplikace a komponenty jsou spravovány v režimu spánku pomocí standardního API nazývaného JMX API. JMX poskytuje nástroje pro vývoj efektivních a robustních distribuovaných, webových řešení.
35. Jak můžeme svázat továrnu hibernate session factory s JNDI?
Hibernate session factory lze svázat s JNDI provedením konfiguračních změn v souboru hibernate.cfg.
36. Kolika způsoby lze objekty identifikovat v Hibernate?
Identifikaci objektu lze v režimu spánku provést třemi způsoby:
- Použití identity objektu: Použití operátoru ==.
- Použití rovnosti objektů: Použití metody equals().
- Použití identity databáze: Objekty relační databáze lze identifikovat, pokud představují stejný řádek.
37. Jaké různé strategie načítání jsou hibernace?
V režimu hibernace jsou k dispozici následující strategie načítání:
- Připojte se k načítání
- Dávkové načítání
- Vyberte Načítání
- Podvyberte Načítání
38. Jak se provádí mapování java objektů pomocí databázových tabulek?
Abychom mapovali java objekty s databázovými tabulkami, potřebujeme mít názvy vlastností Java beans stejné jako názvy sloupců databázové tabulky. Potom je mapování poskytnuto v souboru hbm.xml, jak je uvedeno níže:
39. Jaké jsou odvozené vlastnosti v hibernaci?
Odvozené vlastnosti jsou vlastnosti, které nejsou mapovány na žádný sloupec databázové tabulky. Takové vlastnosti se počítají za běhu vyhodnocením libovolných výrazů.
40. Co znamená pojmenovaný SQL dotaz v režimu spánku a jak se používá?
Pojmenované SQL dotazy jsou ty dotazy, které jsou definovány v mapovacím souboru a jsou volány podle potřeby kdekoli.
Například můžeme napsat dotaz SQL do našeho mapovacího souboru XML takto:
Pak lze tento dotaz volat následovně:
List students = session.getNamedQuery("studentdetails")
.setString("TomBrady", name)
.setMaxResults(50)
.list();
41. Jaký je rozdíl mezi metodou load() a get() v režimu spánku?
Metody Load() mají za následek výjimku, pokud se požadované záznamy nenajdou v databázi, zatímco metoda get() vrátí hodnotu null, když záznamy s id nejsou v databázi nalezeny.
V ideálním případě bychom tedy měli metodu Load() používat pouze tehdy, když jsme si jisti existencí záznamů proti id.
42. Jaké je použití vlastnosti version v režimu spánku?
Vlastnost verze se používá v režimu spánku, aby bylo možné zjistit, zda je objekt v přechodném stavu nebo v odpojeném stavu.
43. Co je to atributově orientované programování?
V programování orientovaném na atributy může vývojář přidat Meta data (atributy) do zdrojového kódu Java, aby dodal kódu větší význam. Pro Java (hibernate) umožňuje programování orientované na atributy pomocí enginu nazvaného XDoclet.
44. K čemu slouží session.lock() v režimu spánku?
Metoda session.lock() třídy session se používá k opětovnému připojení objektu, který byl dříve odpojen. Tato metoda opětovného připojení nekontroluje žádnou synchronizaci dat v databázi při opětovném připojení objektu, a proto může vést k nedostatečné synchronizaci dat.
45. Podporuje hibernace polymorfismus?
Ano, hibernace plně podporuje polymorfismus. Dotazy na polymorfismus a asociace na polymorfismus jsou podporovány ve všech mapovacích strategiích hibernace.
46. Jaké tři modely dědičnosti jsou hibernace?
Hibernate má následující tři modely dědičnosti:
- Tabulky podle třídy betonu
- Tabulka podle hierarchie třídy
- Tabulka podle podtřídy
47. Jak můžeme namapovat třídy jako neměnné?
Pokud nechceme, aby aplikace aktualizovala nebo odstraňovala objekty třídy v režimu spánku, můžeme třídu nastavit jako neměnnou nastavením mutable=false
48. Co je obecný tok hibernace pomocí RDBMS?
Obecný tok hibernace zahrnující RDBMS je následující:
- Načtěte konfigurační soubor a vytvořte objekt konfigurační třídy.
- Pomocí konfiguračního objektu vytvořte objekt sessionFactory.
- Z sessionFactory získejte jednu relaci.
- Vytvořte dotaz HQL.
- Proveďte dotaz HQL a získejte výsledky. Výsledky budou ve formě seznamu.
49. Co je mapování světelných objektů?
Light Object Mapping je jednou z úrovní kvality ORM, ve které jsou všechny entity reprezentovány jako třídy a jsou mapovány ručně.
50. Jaký je rozdíl mezi spravovanými asociacemi a asociacemi hibernace?
Spravovaná přidružení se týkají stálosti správy kontejnerů a jsou obousměrná, zatímco přidružení hibernace jsou jednosměrná.
Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)
Dobrá sbírka qns…
Skvělé vysvětlení,,,,
Můžete také přidat níže uvedené otázky
Jak můžeme vyvolat uložené procedury v režimu spánku?
Co je nařízený sběr a tříděný sběr
co je trvalý stav
Jak je nakonfigurována špinavá kontrola
Nakonfigurujte rozhraní zpětného volání
Jak udělat objekt oddělený
co se stalo, když jsem odpojil přechodný objekt
vysvětlit každou úroveň ORM v Hibernate
Jak povolit/zakázat cahce první a druhé úrovně
Jak můžeme svázat továrnu hibernate session factory s JNDI?
Jaký je rozdíl mezi metodou load() a get() v režimu spánku?
rozdíl mezi session.lock() a session.merge()
Jak je třída mapována jako neměnná a proč
Jak můžeme použít nová uživatelská rozhraní k vylepšení funkčnosti vestavěných rozhraní hibernace?
Hej admin Bude užitečné, když přidáte tuto otázku nebo důležitější otázky podobné mcq pro soutěžní zkoušku