Einführung in den Ruhezustand Interview Fragen und Antworten

Hibernate ist ein Objektzuordnungstool, mit dem die Verbindung der Anwendung mit der Datenbank vereinfacht werden kann. Es ermöglicht die Zuordnung von Java-Objekten zu Datenbanktabellen. Es ordnet die Java-Klasse der Tabelle in der Datenbank zu. Der Name der Tabelle und der Klasse hängt von der Entwicklerauswahl des Entwicklers ab. Es gibt eine Funktion, die den Anforderungen des Unternehmens entsprechend benannt werden kann. Es glättet die Datenbankkonnektivität der Anwendung. Hibernate bietet auch eine datenbankunabhängige Abfragesprache, die als HQL - Hibernate Query Language bezeichnet wird. Es handelt sich um eine objektorientierte Version der SQL-Sprache, mit der die Anwendung bei zukünftigen Datenbankänderungen problemlos mit anderen Datenbanken migrieren kann.

Ruhezustand bietet auch viele andere Funktionen wie die automatische Tabellenerstellung. Dies ist eine der leistungsstärksten Funktionen des Ruhezustands. Um dies nur zu unterstützen, müssen wir eine kleine Konfiguration in einer XML-Datei vornehmen, danach kümmert sich alles nur um den Ruhezustand. Hibernate-Dirty-Checking bedeutet, dass der Status des Java-Objekts immer überprüft wird, wenn Änderungen am Status des Objekts festgestellt werden, das die Datenbank automatisch aktualisiert. Der atomar aktivierte Catch der zweiten Ebene trägt zur Verbesserung der Leistung der Anwendung bei. Dies sind die leistungsstarken Funktionen von Hibernate.

Wenn Sie nach einem Job suchen, der mit Hibernate zusammenhängt, müssen Sie sich auf die Hibernate-Interview-Fragen 2019 vorbereiten. Es ist wahr, dass jedes Interview anders ist, je nach den verschiedenen Berufsprofilen. Hier haben wir die wichtigen Fragen und Antworten zum Hibernate-Interview für 2019 vorbereitet, die Ihnen helfen, Ihr Interview erfolgreich zu gestalten.

Nachfolgend finden Sie die 10 wichtigsten Fragen und Antworten zu Hibernate-Vorstellungsgesprächen, die in einem Vorstellungsgespräch häufig gestellt werden. Diese Fragen gliedern sich in zwei Teile:

Teil 1 - Hibernate Interview Fragen (Basic)

In diesem ersten Teil werden grundlegende Fragen und Antworten zu Hibernate-Interviews behandelt.

1) Unterscheiden zwischen Get und Load in Hibernate?

Antworten:
Die Methode "Get" wird immer dann auf die Datenbank angewendet, wenn kein zwischengespeichertes Objekt gefunden wurde. Es gibt ein vollständig initialisiertes Objekt, das mehrere Datenbankaufrufe beinhalten kann. Dies kann die Leistung der Anwendung beeinträchtigen. Während die load-Methode das Proxy-Objekt zurückgeben kann, wenn ein Objekt nicht zwischengespeichert ist, trifft sie die Datenbank für alle Methoden des Objekts mit Ausnahme der getId () -Methode . Wenn ein Objekt nirgends gefunden wird, gibt get method den Nullwert zurück, während load method die Ausnahme ObjectNotFoundException auslöst. So können wir diese Methoden gemäß unseren Anforderungen anwenden.

2) Was ist der Unterschied zwischen einem dauerhaften, vorübergehenden und einem abgelösten Objekt?

Antworten:
Im Ruhezustand gibt es 3 Zustände des unten angegebenen Objekts.

Diese sind vorübergehend, beständig, losgelöst. Jedes Objekt befindet sich im Persistenzstatus, wenn es der Ruhezustandssitzung zugeordnet ist. Jede Änderung des aktuellen Objekts wird basierend auf unserer Flush-Strategie in der Datenbank angezeigt. Das automatische Leeren erfolgt immer dann, wenn eine Eigenschaft einer Objektänderung oder ein explizites Leeren durch Aufrufen der flush () -Methode der Sitzungsklasse erfolgt. Wenn eine Instanz zuvor einem dauerhaften Kontext zugeordnet war, dieser jetzt jedoch nicht mehr zugeordnet ist, wird der Status gelöst.

Fahren wir mit den nächsten Hibernate-Interviewfragen fort.

3) Ist es möglich, eine Entitätsklasse im Ruhezustand endgültig zu machen?

Antworten:
Ja, es ist möglich, eine Hibernate-Entity-Klasse als endgültig festzulegen, aber dies ist keine gute Vorgehensweise. Da Hibernate ein Proxy-Muster zur Leistungsverbesserung der Anwendung verwendet und im Fall der verzögerten Zuordnung eine Entitätsklasse als endgültig definiert, kann Hibernate keinen Proxy mehr verwenden. Dies liegt daran, dass Java keine Erweiterung zulässt der letzten Klasse; Dies schränkt die Optionen zur Leistungsverbesserung ein. Wir können dieses Problem jedoch lösen, wenn unsere persistente Klasse eine Implementierung einer Schnittstelle ist, die alle in der Entity-Klasse definierten öffentlichen Methoden deklariert.

4) Erläutern Sie den Abfrage-Cache?

Antworten:
Dies sind die häufigsten Fragen im Zusammenhang mit einem Hibernate-Vorstellungsgespräch. Der Abfrage-Cache wird zum Speichern des Ergebnisses der SQL-Abfrage für zukünftige Aufrufe zur Leistungsverbesserung verwendet. Es kann auch zusammen mit einem Cache der zweiten Ebene für den Ruhezustand verwendet werden, um die Leistung der Anwendung zu verbessern. Hibernate bietet viele Open-Source-Caching-Lösungen zur Implementierung des Abfragecaches.

5) Warum muss in Entities kein Argumentkonstruktor angegeben werden?

Antworten:
Die Entitätsklasse muss einen Konstruktor ohne Argumente enthalten, da das Hibernate-Framework mithilfe der Reflection-API ein Objekt dieser Klassen erstellt, indem die neue Instance () -Methode der Class-Klasse aufgerufen wird. Instanziierungsausnahme wird von dieser Methode ausgelöst, wenn in der Entity-Klasse kein Argumentkonstruktor gefunden wurde.

Teil 2 - Hibernate Interview Questions (Fortgeschrittene)

Lassen Sie uns nun einen Blick auf die fortgeschrittenen Hibernate-Interview-Fragen werfen.

6) Erläutern Sie die lock () - Methode der Sitzung im Ruhezustand.

Antworten:
Die lock () -Methode der Sitzungsklasse wird verwendet, um ein Objekt erneut zuzuordnen, ohne es zu aktualisieren oder mit der Datenbank zu synchronisieren. Daher müssen wir bei dieser Methode sehr vorsichtig sein. Wir können immer die update () -Methode verwenden, um die Datenbank während des erneuten Zuordnens zu synchronisieren.

7) Erklären Sie den Cache der zweiten Ebene im Ruhezustand?

Antworten:
Der Cache der zweiten Ebene wird auf Session Factory-Ebene verwaltet und verwendet, um die Leistung der Anwendung zu verbessern, indem nur wenige Datenbank-Roundtrips eingespart werden. Es ist auch für die gesamte Anwendung und nicht für eine bestimmte Sitzung verfügbar

Fahren wir mit den nächsten Hibernate-Interviewfragen fort.

8) Welche Vorteile bietet der Ruhezustand gegenüber JDBC?

Antworten:
Der Ruhezustand kann mit jedem Datenbanktyp verwendet werden, da er datenbankunabhängig ist, während in JDBC der Entwickler datenbankspezifische Abfragen schreiben muss.
Im Ruhezustand müssen wir kein Experte für das Schreiben komplexer Abfragetypen sein, da HQL das Schreiben von Abfragen vereinfacht, während ein Entwickler im Fall von JDBC Abfragen schreiben und optimieren muss.
Im Ruhezustand müssen keine Verbindungspools erstellt werden, da im Ruhezustand die gesamte Verbindungsverarbeitung automatisch erfolgt. In JDBC müssen die Verbindungspools vom Entwickler erstellt werden

9) Auf wie viele Arten können Objekte identifiziert werden und wie werden sie im Ruhezustand abgerufen?

Antworten:
Dies ist die am häufigsten gestellte Frage zum Hibernate-Interview in einem Interview. Für die Objektidentifikation sind unten drei Möglichkeiten aufgeführt.
Verwenden der Datenbankidentität: Relationale Datenbankobjekte können identifiziert werden, wenn sie dieselbe Zeile darstellen.
Verwenden der Objektgleichheit: Verwenden der Methode equals ().
Verwenden der Objektidentität: Verwenden des Operators ==.

Im Ruhezustand stehen folgende Abrufstrategien zur Verfügung:

Batch-Abruf
Fetching beitreten
Unterauswahl Abrufen
Wählen Sie Abrufen

10) Nennen Sie die wenigen Schnittstellen des Hibernate-Frameworks?

Antworten:
Session Factory: Dies ist ein unveränderlicher, threadsicherer Cache kompilierter Zuordnungen für eine einzelne Datenbank. Wir müssen es einmal initialisieren, dann können wir es zwischenspeichern und wiederverwenden. Seine Instanz wird verwendet, um die Sitzungsobjekte für verschiedene Datenbankoperationen abzurufen.

Session ist ein kurzlebiges Single-Thread-Objekt, das eine Schnittstelle zwischen der Anwendung und dem persistenten Speicher darstellt. Es umschließt JDBC java.sql.Connection und fungiert als Factory für Transaction. Sie sollten eine Sitzung nur dann öffnen, wenn dies erforderlich ist, und sie schließen, sobald Sie damit fertig sind. Ein Sitzungsobjekt ist die Schnittstelle zwischen Java-Anwendungscode und Ruhezustand-Framework und bietet verschiedene Methoden für CRUD-Operationen in Java.

Transaktion): Dies ist ein Single-Thread-Objekt mit kurzer Lebensdauer, das von der Java-Anwendung zur Angabe atomarer Arbeitseinheiten verwendet wird. Es abstrahiert die Anwendung von der zugrunde liegenden JTA-Transaktion oder JDBC. In einigen Fällen kann eine Sitzung mehrere Transaktionen enthalten.

Empfohlene Artikel

Dies ist ein Leitfaden für die Liste der Fragen und Antworten zu Hibernate-Vorstellungsgesprächen, damit der Kandidat diese Fragen zu Hibernate-Vorstellungsgesprächen problemlos durchgreifen kann. Hier in diesem Beitrag haben wir die wichtigsten Fragen zu Hibernate-Interviews untersucht, die häufig in Interviews gestellt werden. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Fragen in Vorstellungsgesprächen bei WCF
  2. Fragen in Vorstellungsgesprächen bei Docker
  3. Fragen im Vorstellungsgespräch bei Spring Framework
  4. PLSQL Interview Fragen