Top 50 Hibernate Interview Fragen & Antworten [Für Anfänger & Erfahrene]
Veröffentlicht: 2020-12-15Inhaltsverzeichnis
Einführung
Hibernate ist eine leichtgewichtige Open-Source-Technik in Java. In diesem Blog werden wir den Prozess und den Mechanismus von Hibernate mit den Top „50 Hibernate-Interviewfragen mit den Antworten verstehen.
Was ist Ruhezustand?
Hibernate ist ein leichtgewichtiges Open-Source-Tool für objektrelationales Mapping. Es stellt ein Framework bereit, um objektorientierte Domänenmodelle auf relationale Datenbanken für webbasierte Anwendungen abzubilden.
Hier sind ein paar Fragen, die wir zu den Anwendungsvoraussetzungen stellen sollten, bevor wir Hibernate anpassen:
- Welches Datenmodell können wir für die neue Projektentwicklung, das Anwendungsdesign oder das Datenmodell verwenden?
- Wie hoch ist die Cache-Leistung?
- Wie können wir einfaches oder komplexes Schreiben definieren?
- Wozu dient Skalierbarkeit und in welchem Szenario können wir sie einsetzen?
- In welchem Szenario ist die automatische Datenbankversionierung wichtig?
- Brauchen wir relationale Persistenz für JAVA?
- Wozu dient Support for Query Language, und in welchem Szenario können wir es verwenden?
- Was sind die Transparent Persistence-Prozesse und ihre Auswirkungen auf das Projekt?
ORM-Tool
Es interpretiert Datenerstellung, Datenmanipulation und Datenzugriff. Es ist ein Programmieransatz, der das Objekt den in der Datenbank gespeicherten Daten zuordnet.

Was ist Hibernate Framework?
Hibernate ist eine objektrelationale Java-basierte ORM-Tool-Mapping-Lösung. Es handelt sich um eine objektrelationale Zuordnung, bei der es sich um das Programmierverfahren handelt, um Objekte des Anwendungsdomänenmodells den relationalen Datenbanktabellen zuzuordnen. Es implementiert eine Implementierungsquelle der Java Persistence API, die eine ausgezeichnete Wahl als ORM-Tool mit den Vorteilen der losen Kopplung bietet.
Vorteile von Hibernate Framework
- Leichtgewicht mit schneller Leistung: Die Leistung des Hibernate-Frameworks ist agil mit Hilfe eines Caches, der intern im Hibernate-Framework arbeitet. Cache im Hibernate-Framework ist First-Level-Cache und Second-Level-Cache.
- Database Autonomous Query: HQL (Hibernate Query Language) ist die objektorientierte Variante von SQL. Es erstellt unabhängige Datenbankabfragen, ohne datenbankspezifische Abfragen zu schreiben.
- Automatische Tabellenerstellung: Das Hibernate-Framework bietet die Möglichkeit, die Tabellen der Datenbank automatisch zu generieren. Ohne manuelles Erstellen von Tabellen in der Datenbank.
- Vereinfacht Complex Join: Das Abrufen von Daten aus aggregierten Tabellen ist im Hibernate-Framework einfach.
- Unterbringung von Abfragestatistiken und Datenbankstatus: Hibernate verwaltet den Abfrage-Cache und gibt Statistiken schnell Ergebnisse.
Hibernate-Architektur
Die Hibernate-Architektur konsolidiert viele Objekte, wie z. B. ein dauerhaftes Objekt, eine Sitzungsfabrik, eine Transaktionsfabrik, eine Verbindungsfabrik, eine Sitzung, eine Transaktion.
Die Hibernate-Architektur wird in vier Schichten eingeteilt:
- Java-Anwendungsebene
- Framework-Tier in den Ruhezustand versetzen
- Backhand-API-Ebene
- Datenbankebene
Warum sollten wir uns für den Hibernate-Prozess entscheiden?
Hier sind die folgenden Techniken und Prozesse, die wir verwenden können, wenn wir mit der Anpassung des Prozesses beginnen:
- Hibernate ermöglicht es Entwicklern, Versionstypfelder in der Anwendung zu bestimmen, die in Echtzeitdaten geändert werden können; Diese Funktion bietet dem Benutzer die Möglichkeit, die Daten zu speichern und gleichzeitig zu ändern.
- Hibernate implementiert Unterstützung für JPA-Anmerkungen. Beispiel: @Entity, @Table, @Col usw.
- In Hibernate ist Verbindungspooling eine Technik in den Datenbankverbindungen, wenn wir vom externen Tool erstellen und im Cache speichern. Diese Verbindungen können wir in Zukunft aus dem Cache selbst wiederverwenden, wenn wir sie wiederverwenden müssten, um eine Verbindung zu derselben Datenbank herzustellen unsere Anwendung, die wir erstellt haben
- Hibernate erweitert das beste Maß an Skalierbarkeit in jeder Umgebung. Es kann für alle Projektgrößen praktiziert werden, von einer kleinen App bis hin zu einer, die von Millionen verwendet wird.
- In Hibernate ist die Datenbankversionierung ein wichtiges Werkzeug, das verhindert, dass Änderungen versehentlich von anderen Benutzern rückgängig gemacht werden. Es ermöglicht die Aufzeichnung von Versionstypen innerhalb einer Anwendung. Wenn Daten aktualisiert oder gespeichert werden, können wir auch einen Versionstyp und einen Zeitstempel zur Nachverfolgung aufzeichnen.
- Hibernate implementiert transparente Persistenz, und der Entwickler muss keinen Code explizit schreiben, um Datenbanktabellen-Tupel während der Interaktion mit RDBMS Anwendungsobjekten zuzuordnen.
- In Hibernate ist die Transaktionsverwaltung die Methode zum Ausführen einer Reihe von Anweisungen oder Befehlen. In Hibernate erfolgt die Transaktionsverwaltung über die Transaktionsschnittstelle.
Fünf Gründe, Hibernate statt JDBC in Erwägung zu ziehen
- Es löst objektrelationale komplexe Mismatch-Probleme:
Es bietet eine schnelle Lösung in einer objektorientierten Programmiersprache mit einer relationalen Datenbank.
Beispiel: Diskrepanzen in Datentypen, Struktur- und Integritätsunterschiede, manipulative und transaktionale Ausnahmen können alle zu komplexen objektrelationalen Diskrepanzen führen.
2. Automatische Objektzuordnung:
JDBC und Hibernate liegen darin, dass es die automatische Objektzuordnung unterstützt.“ Transparent Persistence “, diese Methode bietet Hibernate, um Datenbanktabellen für die Anwendungsobjekte durch Interaktion zu entwerfen.
- Hibernate Query Language (HQL)
Hibernate pflegt die strukturierte Abfragesprache (SQL). JDBC unterstützt nur SQL, Hibernate Query Language (HQL) ist insofern mit SQL verwandt, als es sich um eine objektorientierte Abfragesprache handelt. Um den Weg zu verbinden, interpretiert HQL Abfragen in Richtung der SQL-Abfragen, die dann Operationen in der Datenbank starten können.
- Datenbankunabhängigkeit
Hibernate ermöglicht die Zuordnung von verbindenden Datentabellen und Anwendungen über XML-Dateien; Es bietet bessere Möglichkeiten, die Daten bei Bedarf in eine neue Datenbank zu übertragen. Bei der Art und Weise des Zugriffs auf Datenbanken sind Informationen erforderlich, wenn es sich um deren Wiederverwendbarkeit handelt. Caching ist eine wesentliche Komponente für die Datenbankleistung, die die Zeit reduziert und die Anwendungen in Echtzeit unterstützt.
- Verbindungspooling im Ruhezustand:
Hibernate kann eine zuverlässigere Leistung erzielen; es bietet „Verbindungspooling“; Dies ist ein Prozess zum Sammeln der Datenbankverbindungen im Cache. Diese Verbindungen können aus dem Cache selbst wiederverwendet werden, wenn die App mehrmals versucht, eine Verbindung mit der identischen Datenbank herzustellen.
Fragen und Antworten zum Hibernate- Interview
Frage:1 Wie konfigurieren Sie Hibernate, um die ausgeführten SQL-Anweisungen zu schreiben und Bindeparameter in die Protokolldatei zu verwenden?
Antwort: Hier sind die folgenden Schritte:
Erstellen Sie zwei verschiedene Protokollabschnitte und Protokollebenen, um die ausgeführten SQL-Anweisungen und Bindeparameter zu protokollieren:
- Kategorie org.hibernate.SQL .
- org.hibernate.type.descriptor.sql-Kategorie mit Protokollebene TRACE.
Frage:2 Beschreiben Sie Ihre bevorzugten Funktionen des Hibernate-Frameworks.
Antwort: ORM Tool, Hibernate bietet eine leistungsstarke Abfragesprache (HQL)
Frage: 3 Wie können Sie Entity Beans und Hibernate unterscheiden?
Antwort: Entity Beans sind Container, Klassen, Deskriptoren. Hibernate ist ein Tool, das den Objektbaum sofort in einer Klasse persistiert.
Frage: 4 Erklären Sie den Prozess des Session-Objekts und wie wir es in einem First-Level-Cache und einem Second-Level-Cache verwenden können.
Antwort: First-Level-Caching : Es beginnt mit jeder Session - Basis, mit einem „ Session “ -Objekt .
Caching auf zweiter Ebene: Es kann über mehrere Sitzungen hinweg gemeinsam genutzt werden .
Frage:5 Wie funktioniert die Vererbung in Hibernate? Welche verschiedenen Strategien gibt es, um sie umzusetzen?
Antwort: Drei Arten der Vererbung:
- Tabelle pro Hierarchie
- Tabelle pro Betonklasse
- Tabelle pro Unterklasse
Frage:6 Wie funktioniert das Sperren im Ruhezustand? Welche unterschiedlichen Verriegelungsmechanismen gibt es?
Antwort: Sperrmechanismen sind optimistisch und pessimistisch Frage:7 Wie funktioniert die Transaktionsverwaltung in Hibernate?
Antwort: Es funktioniert mit Hilfe von (JTA, JDBC).
Frage:8 Was ist Lazy Loading im Ruhezustand?
Antwort: Dieser Mechanismus auf Entitäten und ihre Assoziationen durch Implementieren eines Proxys von Klassen.
Frage:9 Welche unterschiedlichen Abrufstrategien gibt es in Hibernate?
Antwort: Holen beitreten und Holen auswählen
Frage:10 Welche verschiedenen Abrufstrategien sind in Hibernate verfügbar?
Antwort: Join-Fetching und Select Fetchings sind die in Hibernate verfügbaren Abrufvorgänge.

Frage:11 Was ist der Unterschied zwischen den Methoden "get()" und "load()" in Hibernate?
Antwort : getting() und load(), die zum Abrufen von Daten für den zugewiesenen Bezeichner verwendet werden. Die Get()-Methode gibt null zurück, die load()-Methode löst den Ausnahmefehler „Objekt nicht gefunden“ aus.
Frage:12 Warum sollten Sie die Entitätsklasse nicht final machen?
Antwort: Es wird für die Bindung von Entitäten verwendet.
Frage:13 Erklären Sie die Vor- und Nachteile von freistehenden Objekten.
Antwort: Es war mit der Hibernate-Sitzung in der Vergangenheit verbunden; es hat eine Beschreibung in der Datenbank
Frage:14 Was ist Hibernate Query Language (HQL)?
Antwort: Es basiert auf OOPS-Konzepten.
Frage:15 Geben Sie an, welche Rolle die SessionFactory-Schnittstelle in Hibernate spielt.
Antwort: Es ist ein Prozess eines Thread-sicheren Objekts und kann im Anwendungs-Thread-Prozess verwendet werden
Frage:16 Was ist der Vorteil von Hibernate gegenüber JDBC?
Antwort: Es bietet die schnellste Leistung und Skalierbarkeit.
Frage:17 Beschreiben Sie einige von Hibernate verwaltete Datenbanken.
Antwort: Relationale Datenbank mit JDBC.
Frage:18 Wie können Sie die Methoden session.save() und session.persist() unterscheiden?
Antwort: Session.save() wird zum Speichern des Objekts in der Datenbank und session.persist() für transiente, persistente Objekte verwendet.
Frage:19 Erklären Sie die Update- und Zusammenführungsmethode?
Antwort: Es kann verwendet werden, um das Objekt zu transformieren, das sich in einem getrennten Zustand befindet.
Frage:20 Ist es möglich, Sammlungszuordnungen mit Eins-zu-Eins und Viele-zu-Eins durchzuführen?
Antwort: Es kann in einer Tabelle verwendet werden , die vielen Zeilen in einer anderen Tabelle zugeordnet ist.
Frage:21 Wie führe ich eine Transaktion in Hibernate durch?
Antwort: Mit Hilfe der Klassendeklaration @transctional können wir eine Transaktion durchführen.
Frage:22 Wo werden Objekt-/Relational-Mappings in Hibernate dargestellt?
Antwort: Hibernate ORM ist eine Objekt-/relationale Zuordnung.
Frage:23 Was halten Sie von Light Object?
Antwort: Session, Query, Criteria, Transaction sind das Konzept von Light Object.
Frage:24 Was ist @Transient in Hibernate? Was ist der Vorteil davon?
Antwort: @ Transient Es wurde in Javax, seinem Persistenzpaket, angewendet.
Frage:25 Wie kombiniere ich Struts Spring Hibernate?
Antwort: Mit Hilfe von ContextLoaderPlugIn können wir kombinieren.
Frage: 26. Erklären Sie etwas über die Protokollierung von Hibernate Log4j.
Antwort: Es besteht aus der Datei By log4j.xml und der Datei log4j.properties.
Frage: 27 Wie können wir gleichzeitige Updates in Hibernate einschränken?
Antwort: Mit Hilfe des Pessimistic Locking Process können wir gleichzeitige Updates einschränken.
Frage: 28 Was sind die besten Methoden, um Ihre persistenten Hibernate-Klassen zu bestimmen?
Antwort: Es gibt viele bewährte Methoden und bewährte Vorgehensweisen, die wir mit Mapping persistenter Klassen und ihren Mechanismen verwenden können.
Frage: 29 Was ist das Konzept zum Modifizieren von persistenten Objekten?
Antworten: Persistente Objekte werden durch den Ruhezustand verfolgt und in der Datenbank gespeichert, wenn eine Commit-Anforderung erfolgt.
Frage: 30 Was ist eine bidirektionale Eins-zu-Viele-Beziehung in Hibernate?
Antwort: Es ist die Referenz des Handles des Zuordnungsattributs der vielen Ansichten als Vorteil des mappedBy-Attributs, Hibernate hat alle Gelehrsamkeit, die es braucht. Bei diesen Prozessen müssen wir eine bidirektionale Viele-zu-Eins-Assoziation definieren.
Lesen Sie: Fähigkeiten, um ein Full-Stack-Entwickler zu werden
Frage: 31 Was ist Wertersatz bei der Arbeit mit Message Resource Bundles?
Antwort: Der ResourceBundleMessageInterpolator von Hibernate Validator generiert zwei Instanzen von ResourceBundleLocator , eine für die benutzerdefinierte Validierung Standard-Validierungsmeldungen – defaultResourceBundleLocator .
Frage: 32 Erklären Sie den Ablauf der Ausführungsreihenfolge von SQL-Anweisungen.
Antwort: Der Second-Level-Cache in einer bestimmten Reihenfolge kann aufgrund von Fremdschlüsselbeschränkungen nicht gebrochen werden: Einfügungen, Aktualisierungen, Löschung von Array-Elementen, Einfügung von Array-Elementen, Löschungen in der Richtung, in der sie angezeigt wurden
Frage: 33 Wie kann man mit EHCache den 2nd-Level-Cache im Ruhezustand setzen?
Antwort: Terracotta Ehcache ist ein moderner Cache, der als Hibernate Second-Level-Cache funktionierte . Es kann als eigenständiger Second-Level-Cache praktiziert werden .
Frage: 34 Was ist der Hauptunterschied zwischen Entity Beans und Hibernate?
Antwort: Entity Beans werden weiterhin von Deskriptoren, Containern und Klassen ausgeführt. Hibernate ist nur ein Mechanismus, der den Objektbaum sofort in einer Klassenhierarchie in einer Datenbank aushält.
Frage: 35 Erklären Sie die Schritte zum Beitreten, die mit Hibernate abgewickelt werden?
Antwort: Mit Hilfe von SQL Join können wir damit umgehen.
Frage: 36 Erklären Sie den Prozess des Hibernate-Proxys?
Antwort: Der Hibernate-Proxy Dies bezieht sich auf Hibernate , wenn wir Session aufrufen. Belastung().
Frage: 37 Was ist der Hauptvorteil der Verwendung von Hibernate gegenüber der Verwendung von SQL?
Antwort: Mit der Praxis von ORM und der Verwendung von Hibernate vermeidet die Verwendung von SQL das Schreiben umfangreicher Abfragen durch Hibernate.
Frage: 38 Erklären Sie die Entwurfsmuster, die wir in Hibernate verwenden können?
Antwort : Proxy-Muster, Domänenmodell und Objektmodell sind die Entwurfsmuster.
Lesen Sie auch: Karriere in der Full-Stack-Entwicklung
Frage: 39 Erklären Sie die Architektur von Hibernate.
Antwort: Hibernate hat eine mehrschichtige Architektur, die es dem Benutzer ermöglicht, zu verwalten, ohne die zugrunde liegenden APIs verstehen zu müssen
Frage: 40 Listen Sie die in Hibernate unterstützten Datentypen auf?
Antwort: IntegerType, FloatType, DoubleType, CharacterType, ShortType.
Frage: 41 Was ist (JDO, CMP)?
Antwort: Seine Java-Persistenztechnologien.
Frage: 42 Was ist der Hauptunterschied zwischen Frühling und Winterschlaf?
Antwort: Spring und Hibernate sind zwei separate Frameworks. Frühlingsverträge mit verstärkendem Fluss der Anwendung. Bei Hibernate geht es um die Interaktion zwischen der Anwendung und der Datenbank.
Frage: 43 Wann können wir die ORM-Lösungen in Hibernate finden?
Antwort: Hibernate ist das Konzept der Object/Relational Mapping (ORM)-Lösung für Java; Der Begriff Objekt-/relationale Abbildung bezieht sich auf das Verfahren zum Abbilden von Daten aus einer Objektmodellbeschreibung auf eine relationale Datenmodellbeschreibung.
Frage:44 Erwähnen Sie den Schritt-für-Schritt-Prozess zum Abschließen einer Transaktion in Hibernate.
Antwort: mit Hilfe von ACID-> Eigenschaften (Atomizität, Konsistenz, Isolation und Haltbarkeit).
Frage:45 Wo sind die Mappings in Hibernate?
Antwort: Hibernate-Mappings sind die Features von Hibernate; Sie organisieren die Verbindung zwischen zwei Datenbanktabellen, während Attribute in Ihrem Modell vorhanden sind. Auf diese Weise können Sie die Zuordnungen in Ihren Modell- und Standardabfragen schnell steuern.
Frage:46 Können Sie die unterschiedlichen Arten von Beziehungen ansprechen, die beim Hibernate-Mapping möglich sind?
Antworten: Eins-zu-Eins, Viele-zu-Eins, Einer-zu-Vielen, Viele-zu-Vielen.
Frage:47 Wo können wir die Objektzuordnungen in Hibernate definieren?
Antwort: Konvertierung von Java - Objekten in SQL-Abfragen zur Speicherung der Daten.
Frage:48 Können Sie die zahlreichen Sammlungstypen in Hibernate auflisten?
Antwort: HashMap, HashSet, TreeSet und Arraylist sind die Sammlungstypen in Hibernate.
Frage:49 Wie wird in Hibernate die Daten aus der Datenbank abgerufen?
Antwort: Mit Hilfe der Hibernate-Kriterien und der API-Funktion beginTransaction() mit der Sitzung können wir die Daten abrufen.

Frage:50 Erklären Sie die Hibernate-Zuordnungsdateien durch die Verwendung der JPA-Annotationen @NamedQuery und @NamedNativeQuery.
Antwort: @NamedQuery und @NamedNativeQuery sind die Arten von HQL-Abfragen, die die Komplexität der Transformation der HQL in die zahlreichen SQL-Dialekte handhaben.
Melden Sie sich für Software Engineering-Kurse an den besten Universitäten der Welt an. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die Top 50 Hibernate „Interview“-Fragen für Anfänger und Profis zu verstehen.
Wenn Sie mehr über Full-Stack-Softwareentwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte, und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.
