Top 10 des questions et réponses d'entrevue Hibernate (mis à jour pour 2019)

Table des matières:

Anonim

Introduction à la mise en veille prolongée Questions et réponses

Hibernate est un outil de mappage d'objet qui aide à simplifier la connexion de l'application avec database.it fournit le mappage d'objet java avec des tables de base de données signifie qu'il mappe la classe java avec la table dans la base de données. Le nom de la table et de la classe dépend du choix du développeur du développeur. Il a une fonctionnalité pour donner un nom en fonction des besoins de l'entreprise. Il connecte la base de données en douceur de l'application. Hibernate fournit également un langage de requête indépendant de la base de données, appelé langage de requête Hibernate HQL. il s'agit d'une version orientée objet du langage SQL qui permet à l'application de migrer facilement avec d'autres bases de données en cas de changement de la base de données à l'avenir.

Hibernate fournit également de nombreuses autres fonctionnalités comme la création automatique de tables, c'est l'une des fonctionnalités les plus puissantes d'Hibernate. Pour prendre en charge cela, nous devons faire une petite configuration dans un fichier XML, après quoi tout est pris en charge par l'hibernation uniquement. Hibernate fait une vérification sale signifie qu'il vérifie toujours l'état de l'objet Java s'il trouve des changements dans l'état de l'objet, il met automatiquement à jour la base de données. il a un deuxième niveau activé de manière atomique, ce qui contribue à améliorer les performances de l'application. Ce sont les puissantes fonctionnalités d'Hibernate.

Maintenant, si vous recherchez un emploi lié à Hibernate, vous devez vous préparer aux questions d'entrevue Hibernate 2019. Il est vrai que chaque entretien est différent selon les différents profils d'emploi. Ici, nous avons préparé les importantes questions et réponses d'entrevue Hibernate 2019 qui vous aideront à réussir votre entrevue.

Vous trouverez ci-dessous les 10 questions et réponses importantes à Hibernate lors d'une entrevue. Ces questions sont divisées en deux parties:

Partie 1 - Questions d'entrevue Hibernate (de base)

Cette première partie couvre les questions et réponses d'entrevue de base d'Hibernate.

1) Faire la différence entre get et load dans Hibernate?

Répondre:
La méthode Get frappe toujours la base de données si elle ne trouve pas d'objet mis en cache. Il donne un objet complètement initialisé qui peut impliquer plusieurs appels de bases de données, ce qui peut dégrader les performances de l'application, tandis que la méthode de chargement peut renvoyer l'objet proxy si un objet n'est pas mis en cache, il frappe la base de données pour toutes les méthodes de l'objet sauf la méthode getId () . Si un objet ne se trouve nulle part, la méthode get renvoie la valeur null tandis que la méthode load lève l'exception ObjectNotFoundException. Nous pouvons donc utiliser ces méthodes selon nos besoins.

2) Quelle est la différence entre un objet persistant, transitoire et détaché?

Répondre:
Dans Hibernate, il y a 3 états de l'objet donnés ci-dessous.

Ce sont transitoires, persistants, détachés. Tout objet sera en état de persistance s'il est associé à une session Hibernate. tout changement dans l'objet actuel sera reflété dans la base de données en fonction de notre stratégie de vidage. Le vidage automatique se produit chaque fois qu'une propriété de l'objet change ou le vidage explicite en appelant la méthode flush () de la classe Session. Dans le cas d'une instance qui était auparavant associée à un contexte persistant mais qui n'est plus associée, elle est à l'état détaché.

Passons aux prochaines questions d'entrevue Hibernate.

3) Est-il possible de faire une finale de la classe Entité Hibernate?

Répondre:
Oui, il est possible de faire une finale de classe Hibernate Entity, mais ce n'est pas une bonne pratique. Parce qu'Hibernate utilise un modèle de proxy pour l'amélioration des performances de l'application et dans le cas de l'association paresseuse, en définissant une classe d'entité comme finale, Hibernate ne pourra plus utiliser un proxy, une raison derrière cela est que Java ne permet pas l'extension de la classe finale; il limite les options d'amélioration des performances. Cependant, nous pouvons résoudre ce problème si notre classe persistante est une implémentation d'une interface, qui déclare toutes les méthodes publiques définies dans la classe Entity.

4) Expliquez le cache de requête?

Répondre:
Ce sont les questions d'entretien Hibernate courantes posées lors d'un entretien. Le cache de requête est utilisé pour stocker le résultat de la requête SQL pour les futurs appels à l'amélioration des performances. Il peut également être utilisé avec un cache d'hibernation de deuxième niveau pour améliorer les performances de l'application. Hibernate possède de nombreuses solutions de mise en cache open source pour implémenter le cache de requête.

5) Pourquoi est-il indispensable de ne fournir aucun constructeur d'argument dans les Entités?

Répondre:
La classe d'entité doit contenir un constructeur sans argument, car le framework Hibernate crée un objet de ces classes à l'aide de l'API Reflection, en appelant la nouvelle méthode Instance () de la classe Class. Une exception d'instanciation sera levée par cette méthode si elle ne trouve aucun constructeur d'argument dans la classe Entity.

Partie 2 - Questions d'entrevue Hibernate (avancé)

Jetons maintenant un coup d'œil aux questions d'entrevue avancées d'Hibernate.

6) Expliquez la méthode lock () de la session dans Hibernate?

Répondre:
La méthode lock () de la classe de session est utilisée pour rattacher l'objet sans mettre à jour ou synchroniser avec la base de données. Nous devons donc être très prudents lors de l'utilisation de cette méthode. Nous pouvons toujours utiliser la méthode update () pour synchroniser avec la base de données lors du rattachement.

7) Expliquer le cache de deuxième niveau en veille prolongée?

Répondre:
Le cache de deuxième niveau est maintenu au niveau de Session Factory et utilisé pour améliorer les performances de l'application en économisant quelques aller-retour de base de données. Il est également disponible pour l'ensemble de l'application plutôt que pour une session particulière

Passons aux prochaines questions d'entrevue Hibernate.

8) Quels sont les avantages de l'hibernation sur JDBC?

Répondre:
Hibernate peut être utilisé avec n'importe quel type de base de données car il est indépendant de la base de données tandis que dans JDBC, le développeur doit écrire des requêtes spécifiques à la base de données.
En veille prolongée, nous n'avons pas besoin d'être un expert de l'écriture de types de requêtes complexes, car HQL facilite le processus d'écriture de requêtes tandis que dans le cas de JDBC, un développeur doit écrire et régler des requêtes.
Dans hibernate, il n'est pas nécessaire de créer des pools de connexions car hibernate gère automatiquement toutes les connexions Dans JDBC, les pools de connexions doivent être créés par le développeur

9) De combien de façons les objets peuvent-ils être identifiés et quelles sont les différentes façons d'aller chercher dans Hibernate?

Répondre:
Il s'agit des questions d'entrevue Hibernate les plus fréquemment posées lors d'une entrevue. Pour l'identification d'objet, trois méthodes sont répertoriées ci-dessous.
Utilisation de l'identité de la base de données: les objets de base de données relationnelle peuvent être identifiés s'ils représentent la même ligne.
Utilisation de l'égalité d'objet: Utilisation de la méthode equals ().
Utilisation de l'identité d'objet: Utilisation de l'opérateur ==.

Voici les stratégies de récupération disponibles en veille prolongée:

Récupération par lots
Rejoindre la récupération
Sous-sélection de la récupération
Sélectionnez Récupération

10) Dire le nom des quelques interfaces du framework Hibernate?

Répondre:
Session Factory: il s'agit d'un cache thread-safe immuable de mappages compilés pour une seule base de données. Nous devons l'initialiser une fois, puis nous pouvons le mettre en cache et le réutiliser. son instance est utilisée pour obtenir les objets Session pour diverses opérations de base de données.

Session, il s'agit d'un objet à vie unique à thread unique représentant une interface entre l'application et le magasin persistant. Il encapsule JDBC java.sql.Connection et fonctionne comme une fabrique pour Transaction. Vous ne devez ouvrir une session que lorsqu'elle est requise et la fermer dès que vous avez fini de l'utiliser. Un objet de session est l'interface entre le code d'application java et le cadre de mise en veille prolongée et fournit diverses méthodes pour les opérations CRUD en Java.

Transaction): il s'agit d'un objet monofilaire de courte durée de vie utilisé par l'application java pour spécifier les unités atomiques de travail. Il résume l'application de la transaction JTA sous-jacente ou JDBC. Une session peut contenir plusieurs transactions dans certains cas.

Articles recommandés

Ceci a été un guide pour la liste des questions et réponses d'entrevue Hibernate afin que le candidat puisse réprimer facilement ces questions d'entrevue Hibernate. Ici, dans cet article, nous avons étudié les principales questions d'entrevue Hibernate qui sont souvent posées lors des entretiens. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Questions d'entretiens chez WCF
  2. Questions d'entretiens chez Docker
  3. Questions d'entretiens chez Spring framework
  4. Questions d'entretiens chez PLSQL