Top 50 de întrebări și răspunsuri la interviu Hibernate [pentru începători și experimentați]
Publicat: 2020-12-15Cuprins
Introducere
Hibernate este o tehnică ușoară, open-source în Java, în acest blog, vom înțelege procesul și mecanismul despre Hibernate cu primele „50 de întrebări interviu Hibernate cu răspunsuri.
Ce este Hibernate?
Hibernate este un instrument ușor de mapare obiect-relațională open-source. Acesta oferă un cadru pentru maparea modelelor de domenii orientate pe obiecte la baze de date relaționale pentru aplicații bazate pe web.
Iată câteva întrebări pe care ar trebui să le punem despre cerințele aplicației înainte de a adapta Hibernate:
- Ce model de date putem folosi pentru dezvoltarea noului proiect, proiectarea aplicației sau modelul de date?
- Care este nivelul de performanță cache?
- Cum putem defini scrierea simplă sau complexă?
- La ce folosește scalabilitatea și în ce scenariu o putem folosi?
- În ce scenariu este importantă versiunea automată a bazei de date?
- Avem nevoie de persistență relațională pentru JAVA?
- La ce folosește Support for Query Language și ce scenariu îl putem folosi?
- Care sunt procesul Transparent Persistence și impactul lor asupra proiectului?
Instrumentul ORM
Acesta interpretează crearea de date, manipularea datelor și accesul la date. Este o abordare de programare care mapează obiectul la datele stocate în baza de date.

Ce este Hibernate Framework?
Hibernate este o soluție de mapare a instrumentelor ORM bazată pe Java, bazată pe obiecte. Este o mapare obiect-relațională care este procedura de programare pentru a mapa obiectele modelului domeniului aplicației la tabelele bazei de date relaționale. Implementează o sursă de implementare a API-ului Java Persistence care oferă o alegere excelentă ca instrument ORM cu avantajele cuplajului liber.
Beneficiile Hibernate Framework
- Ușor cu performanță rapidă: Performanța cadrului Hibernate este agilă cu ajutorul unui cache, care funcționează intern în cadrul Hibernate. Cache-ul din cadrul Hibernate este cache de nivel întâi și cache de nivel al doilea.
- Interogare autonomă pentru baze de date: HQL (Hibernate Query Language) este varianta orientată pe obiect a SQL. Creează interogări independente de baze de date fără a scrie interogări specifice bazei de date.
- Creare automată a tabelelor: Cadrul Hibernate oferă capacitatea de a genera automat tabelele bazei de date. Fără a crea manual tabele în baza de date.
- Simplificare asociere complexă: Preluarea datelor din tabele agregate este ușoară în cadrul Hibernate.
- Se potrivește cu statisticile interogărilor și starea bazei de date: Hibernate menține cache-ul de interogări și oferă statistici rezultate rapide.
Hibernate Architecture
Arhitectura Hibernate consolidează multe obiecte, cum ar fi un obiect persistent, o fabrică de sesiuni, o fabrică de tranzacții, o fabrică de conexiuni, o sesiune, o tranzacție.
Arhitectura Hibernate este clasificată în patru straturi:
- Nivelul aplicației Java
- Nivelul cadru hibernare
- Nivelul API Backhand
- Nivelul bazei de date
De ce ar trebui să alegem procesul Hibernare?
Iată tehnicile și procesele de mai jos pe care le putem folosi atunci când începem adaptarea procesului:
- Hibernate permite dezvoltatorilor să determine câmpuri de tip de versiune în aplicație, care pot fi modificate în date în timp real; această caracteristică oferă utilizatorului să poată salva datele și să le modifice în același timp.
- Hibernate implementează asistență pentru adnotările JPA De exemplu: @Entity, @Table, @Col etc.
- În Hibernate, punerea în comun a conexiunilor este o tehnică în conexiunile la baza de date atunci când creăm și stocăm în cache de către instrumentul extern, aceste conexiuni le putem reutiliza din cache în sine în viitor dacă ar fi nevoie să le reutilizam pentru a ne conecta la aceeași bază de date în aplicația noastră pe care am creat-o
- Hibernate extinde cel mai bun grad de scalabilitate în orice mediu. Poate fi practicat pentru proiecte de toate dimensiunile, de la o aplicație la scară mică la una care este folosită de milioane.
- În Hibernate, versiunea bazei de date este un instrument important care acceptă prevenirea retragerii din greșeală a modificărilor de către alți utilizatori. Permite înregistrarea tipurilor de versiuni în cadrul unei aplicații. Când datele sunt actualizate sau stocate, un tip de versiune și un marcaj de timp, putem, de asemenea, să înregistrăm pentru urmărire.
- Hibernate implementează persistența transparentă, iar dezvoltatorul nu trebuie să scrie cod în mod explicit pentru a mapa tuplele tabelei bazei de date la obiectele aplicației în timpul interacțiunii cu RDBMS.
- În Hibernate, gestionarea tranzacțiilor este metoda de realizare a unui set de instrucțiuni sau comenzi. În Hibernate, gestionarea tranzacțiilor se face prin interfața tranzacției.
Cinci motive pentru a lua în considerare Hibernate peste JDBC
- Rezolvă problemele complexe de nepotrivire obiect-relațional:
Oferă o soluție rapidă într-un limbaj de programare orientat pe obiecte cu o bază de date relațională.
Exemplu: diferențele între tipurile de date, diferențele structurale și de integritate, excepțiile manipulative și tranzacționale pot provoca nepotriviri complexe între obiecte și relații.
2. Maparea automată a obiectelor:
JDBC și Hibernate constă în faptul că acceptă maparea automată a obiectelor.” Transparent Persistence”, această metodă oferă Hibernate să redacteze tabelele bazei de date către obiectele aplicației prin interacțiune.
- Hibernate Query Language (HQL)
Hibernate menține limbajul de interogare structurat (SQL). JDBC acceptă numai SQL, Hibernate Query Language (HQL) este legat de SQL prin faptul că este un limbaj de interogare orientat pe obiecte. Pentru a conecta modul, HQL interpretează interogările către interogările SQL care pot lansa apoi operațiuni în baza de date.
- Independența bazei de date
Hibernate asigură maparea conectării tabelelor de date și a aplicațiilor prin fișiere XML; oferă modalități mai bune de a transfera datele într-o nouă bază de date, dacă este necesar. În timp ce modalitatea de accesare a bazelor de date, informația este necesară, dacă este vorba de reutilizarea acestora. Memorarea în cache este o componentă esențială pentru performanța bazei de date, care reduce timpul și susține aplicațiile în timp real.
- Gruparea conexiunilor în Hibernate:
Hibernare poate obține performanțe mai fiabile; oferă „conexiuni în comun”; acesta este un proces de colectare a conexiunilor la baza de date în cache. Aceste conexiuni pot fi reutilizabile din memoria cache în sine dacă aplicația încearcă să se conecteze la aceeași bază de date de mai multe ori.
Întrebări și răspunsuri la interviu Hibernate
Întrebare:1 Cum configurezi Hibernate să scrie instrucțiunile SQL executate și să folosească parametrii de legare la fișierul jurnal?
Răspuns: Iată pașii de mai jos:
Creați două secțiuni diferite de jurnal și niveluri de jurnal pentru a înregistra instrucțiunile SQL executate și parametrii de legare:
- Categoria org.hibernate.SQL .
- org.hibernate.type.descriptor.sql categorie cu nivel de jurnal TRACE.
Întrebare: 2 Descrieți caracteristicile preferate ale cadrului Hibernate.
Răspuns: Instrumentul ORM, Hibernate oferă un limbaj de interogare puternic (HQL)
Întrebare: 3 Cum puteți diferenția Entity Beans și Hibernate.
Răspuns: Entity beans sunt containere, clase, descriptori. Hibernare este un instrument care persistă instantaneu arborele de obiecte într-o clasă.
Întrebare: 4 Explicați procesul obiectului Session și cum îl putem folosi într-un cache de prim nivel și un cache de al doilea nivel?
Răspuns: Primul nivel de cache : începe cu fiecare sesiune , cu un obiect „ sesiune ” .
Memorarea în cache de al doilea nivel: poate fi partajată dincolo de mai multe sesiuni .
Întrebare: 5 Cum funcționează moștenirea în Hibernate? Care sunt diferitele strategii disponibile pentru a-l implementa?
Răspuns: Trei tipuri de moștenire:
- Tabel pe ierarhie
- Tabel pe clasă de beton
- Tabel pe subclasă
Întrebare: 6 Cum funcționează blocarea în Hibernate? Care sunt diferitele mecanisme de blocare disponibile?
Răspuns: Mecanismele de blocare sunt optimiste și pesimiste Întrebare: 7 Cum funcționează gestionarea tranzacțiilor în Hibernate?
Răspuns: Funcționează cu ajutorul (JTA, JDBC).
Întrebare: 8 Ce este încărcarea leneșă în Hibernate?
Răspuns: Acest mecanism asupra entităților și asociațiilor acestora prin implementarea unui proxy de clase.
Întrebare: 9 Care sunt diferitele strategii de preluare disponibile în Hibernate?
Răspuns: Alăturați preluarea și Selectați preluarea
Întrebare: 10 Care sunt diferitele strategii de preluare disponibile în Hibernate?
Răspuns: Preluare Join-Fetching și Select Fetchings sunt preluări disponibile în Hibernate.

Întrebare: 11 Care este diferența dintre metodele de obținere () și încărcare () în Hibernate?
Răspuns : get() și load() care sunt folosite pentru preluarea datelor pentru identificatorul atribuit. Metoda Get() returnează null, metoda încărcare() aruncă o eroare a obiectului negăsit tipul de excepție.
Întrebare: 12 De ce nu ar trebui să definiți clasa de entitate finală?
Răspuns: Este folosit pentru legarea entităților .
Întrebare:13 Explicați avantajele și dezavantajele obiectelor detașate.
Răspuns: S-a conectat cu sesiunea Hibernate în trecut; are o descriere în baza de date
Întrebare: 14 Ce este Hibernate Query Language (HQL)?
Răspuns: Se bazează pe concepte OOPS.
Întrebare:15 Precizați rolul pe care îl joacă interfața SessionFactory în Hibernate.
Răspuns: Este un proces al unui obiect thread-safe și poate fi utilizat în procesul de fir de aplicație
Întrebare: 16 Care este beneficiul Hibernate față de JDBC?
Răspuns: oferă cea mai rapidă performanță și scalabilitate.
Întrebare: 17 Descrieți câteva baze de date întreținute de Hibernate.
Răspuns: Baza de date relațională folosind JDBC.
Întrebare: 18 Cum puteți diferenția metoda session.save() și session.persist()?
Răspuns: Session.save() este folosit pentru salvarea obiectului în baza de date și session.persist() pentru obiecte tranzitorii, persistente.
Întrebare: 19 Explicați despre metoda de actualizare și îmbinare?
Răspuns: Poate fi folosit pentru a transforma obiectul, care se află într-o stare detașată.
Întrebare: 20 Este posibil să se efectueze maparea colecțiilor cu One-to-One și Many-to-One?
Răspuns: Poate fi folosit într-un tabel care este mapat pe mai multe rânduri dintr-un alt tabel.
Întrebare: 21 Cum se efectuează o tranzacție în Hibernate?
Răspuns: Cu ajutorul declarației @transctional class, putem efectua o tranzacție.
Întrebare: 22 Unde sunt reprezentate mapările obiect/relaționale în Hibernate?
Răspuns: Hibernate ORM este un obiect/mapări relaționale.
Întrebare: 23 Ce părere aveți despre obiectul de lumină?
Răspuns: Sesiune, Interogare, Criterii, Tranzacție sunt conceptul de Obiect de lumină.
Întrebare: 24 Ce este @Transient în Hibernate? Care este avantajul acestui lucru?
Răspuns: @ Tranzitoriu S-a aplicat în javax, pachetul său de persistență.
Întrebare: 25 Cum se combină Struts Spring Hibernate?
Răspuns: Cu ajutorul ContextLoaderPlugIn, putem combina.
Întrebare: 26 Explicați despre înregistrarea Hibernate Log4j.
Răspuns: Este format din fișierul By log4j.xml și fișierul log4j.properties.
Întrebare: 27 Cum putem restricționa actualizările simultane în Hibernate?
Răspuns: Cu ajutorul Procesului de blocare pesimistă, putem restricționa actualizările concurente.
Întrebare: 28 Care sunt cele mai bune metode pentru a determina clasele persistente Hibernate?
Răspuns: Există multe cele mai bune metode și cele mai bune practici pe care le putem folosi cu clasa persistentă Mapping și mecanismele acesteia.
Întrebare: 29 Care este conceptul de modificare a obiectelor persistente?
Răspuns: obiectele persistente sunt urmărite prin hibernare și sunt stocate în baza de date atunci când are loc o solicitare de commit.
Întrebare: 30 Ce este o relație bidirecțională de la unul la mai mulți în Hibernate?
Răspuns: Este Referința mânerului atributului de asociere al multor vederi ca beneficiu al atributului mappedBy, Hibernate are toată erudiția de care are nevoie. Cu aceste procese, trebuie să definim o asociere bidirecțională multi-la-unu.
Citiți: Abilități pentru a deveni un dezvoltator full stack
Întrebare: 31 Ce este înlocuirea valorii în serviciul pachetului de resurse pentru mesaje?
Răspuns: ResourceBundleMessageInterpolator de la Hibernate Validator generează două instanțe de ResourceBundleLocator una pentru validarea UserDefined Mesaje de validare standard – defaultResourceBundleLocator .
Întrebare: 32 Explicați procesul ordinii de execuție a instrucțiunilor SQL.
Răspuns: Cache-ul de al doilea nivel într-o anumită ordine din cauza constrângerilor de cheie străină nu poate fi rupt: inserări, actualizări, ștergerea elementelor matricei, inserarea elementelor matricei, ștergerile, în direcția în care au fost prezentate.
Întrebare: 33 Cum puteți seta cache de nivel 2 în Hibernate cu EHCache?
Răspuns: Terracotta Ehcache este un cache modern care a funcționat ca cache Hibernate de nivel al doilea . Poate fi practicat ca cache de nivel doi autonome .
Întrebare: 34 Care este principala diferență între Entity Beans și Hibernate?
Răspuns: Entity bean -urile continuă să fie efectuate de descriptori, containere, clase. Hibernarea este doar un mecanism care suportă imediat arborele de obiecte la o ierarhie de clasă dintr-o bază de date.
Întrebare: 35 Explicați pașii de aderare gestionați folosind Hibernate?
Răspuns: Cu ajutorul SQL Join, ne putem descurca.
Întrebare: 36 Explicați procesul proxy Hibernate?
Răspuns: proxy Hibernate Aceasta se referă la Hibernare când numim Session. sarcină().
Întrebare: 37 Care este principalul avantaj al utilizării Hibernate decât folosirea SQL?
Răspuns: Cu practica ORM și cu utilizarea Hibernate , atunci folosind SQL-ul este că Hibernate evită să scrie interogări la scară largă.
Întrebare: 38 Explicați modelele de design pe care le putem folosi în Hibernate?
Răspuns : modelul proxy, modelul domeniu și modelul obiect sunt modelele de proiectare.
Citește și: Carieră în dezvoltarea Full Stack
Întrebare: 39 Explicați arhitectura lui Hibernate.
Răspuns: Hibernate are o arhitectură stratificată care permite utilizatorului să gestioneze fără a fi nevoit să înțeleagă API-urile de bază
Întrebare: 40 Listați tipurile de date acceptate în Hibernate?
Răspuns: IntegerType,FloatType,DoubleType,CharacterType,ShortType.
Întrebare: 41 Ce este (JDO, CMP)?
Răspuns: Tehnologiile sale de persistență Java.
Întrebare: 42 Care este principala diferență între primăvară și Hibernare?
Răspuns: Spring și hibernate sunt două cadre separate. Arcul se contractă cu debitul de amplificare al aplicației. Hibernate se referă la interacțiunea dintre aplicație și baza de date.
Întrebare: 43 Când putem găsi soluțiile ORM în Hibernate?
Răspuns: Hibernate este conceptul de soluție ORM (Object/Relational Mapping) pentru Java; termenul Object/Relational Mapping se referă la procedura de mapare a datelor dintr-o descriere a modelului de obiect la o descriere a modelului de date relaționale.
Întrebare: 44 Menționați procesul pas cu pas pentru a finaliza o tranzacție în Hibernate.
Răspuns: cu ajutorul proprietăților ACID-> (atomicitate, consistență, izolare și durabilitate).
Întrebare: 45 Unde sunt mapările în Hibernate?
Răspuns: Mapările Hibernate sunt caracteristicile Hibernate; ele organizează conexiunea între două tabele de baze de date în timp ce atributele din modelul dvs. Acest lucru vă permite să conduceți rapid asocierile din interogările de model și standarde.
Întrebare: 46 Puteți atinge diferitele tipuri de relații posibile în maparea Hibernate?
Răspuns: Unu-la-unu, Multi-la-unu, Unu-la-Mulți, Multi-la-Mulți.
Întrebare: 47 Unde putem defini mapările obiectelor în Hibernate?
Răspuns: Conversia obiectelor Java în interogări SQL pentru stocarea datelor.
Întrebare: 48 Puteți enumera numeroasele tipuri de colecții din Hibernate?
Răspuns: HashMap, HashSet, TreeSet și Arraylist sunt tipurile de colecție din Hibernate.
Întrebare: 49 Care este procesul de preluare a datelor din baza de date în Hibernate?
Răspuns: Cu ajutorul criteriilor Hibernate folosind funcția API beginTransaction() cu sesiune, putem prelua datele.

Întrebare: 50 Explicați despre fișierele de mapare Hibernate prin utilizarea adnotărilor JPA @NamedQuery și @NamedNativeQuery.
Răspuns: @NamedQuery și @NamedNativeQuery sunt tipurile de interogare HQL, care se ocupă de complexitatea transformării HQL în numeroasele dialecte SQL.
Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Concluzie
Sperăm că acest articol v-a ajutat să înțelegeți primele 50 de întrebări „Interviu” Hibernate pentru începători și profesioniști.
Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte, și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență la locul de muncă cu firme de top.
