Top 50 des questions et réponses d'entretien Hibernate [Pour débutants et expérimentés]

Publié: 2020-12-15

Table des matières

introduction

Hibernate est une technique légère et open-source en Java, dans ce blog, nous comprendrons le processus et le mécanisme d'Hibernate avec les "50 questions d'entretien Hibernate avec les réponses".

Qu'est-ce que l'hibernation ?

Hibernate est un outil léger de mappage objet-relationnel open source. Il fournit un cadre pour mapper des modèles de domaine orientés objet à des bases de données relationnelles pour des applications Web.

Voici quelques questions que nous devrions poser sur les exigences de l'application avant d'adapter Hibernate :

  1. Quel modèle de données pouvons-nous utiliser pour le développement de nouveaux projets, la conception d'applications ou le modèle de données ?
  2. Quel est le niveau de performances du cache ?
  3. Comment définir une écriture simple ou complexe ?
  4. À quoi sert l'évolutivité et dans quel scénario pouvons-nous l'utiliser ?
  5. Dans quel scénario la gestion automatique des versions de la base de données est-elle importante ?
  6. Avons-nous besoin de la persistance relationnelle pour JAVA ?
  7. À quoi sert la prise en charge du langage de requête et dans quel scénario pouvons-nous l'utiliser ?
  8. Quels sont les processus de persistance transparente et leur impact sur le projet ?

Outil ORM

Il interprète la création de données, la manipulation de données et l'accès aux données. Il s'agit d'une approche de programmation qui mappe l'objet aux données stockées dans la base de données.

Qu'est-ce qu'Hibernate Framework ?

Hibernate est une solution de mappage d'outils ORM basée sur Java et relationnelle objet. Il s'agit d'un mappage objet-relationnel qui est la procédure de programmation pour mapper les objets du modèle de domaine d'application aux tables de la base de données relationnelle. Il implémente une source d'implémentation de l'API Java Persistence qui offre un excellent choix en tant qu'outil ORM avec les avantages du couplage lâche.

Avantages du cadre Hibernate

  1. Léger avec des performances rapides : les performances du framework Hibernate sont agiles à l'aide d'un cache, qui fonctionne en interne dans le framework Hibernate. Le cache dans le framework Hibernate est un cache de premier niveau et un cache de second niveau.
  2. Requête autonome de base de données : HQL (Hibernate Query Language) est la variante orientée objet de SQL. Il crée des requêtes de base de données indépendantes sans écrire de requêtes spécifiques à la base de données.
  3. Création automatique de tables : Le framework Hibernate donne la capacité de générer automatiquement les tables de la base de données. Sans créer manuellement des tables dans la base de données.
  4. Simplifie la jointure complexe : la récupération de données à partir de tables agrégées est facile dans le cadre Hibernate.
  5. Prend en charge les statistiques de requête et l'état de la base de données : Hibernate maintient le cache de requête et donne des résultats rapides de statistiques.

Architecture d'hibernation

L'architecture Hibernate consolide de nombreux objets tels qu'un objet persistant, une usine de session, une usine de transaction, une usine de connexion, une session, une transaction.

L'architecture Hibernate est classée en quatre couches :

  • Niveau d'application Java
  • Niveau de framework Hibernate
  • Niveau API revers
  • Niveau base de données

Pourquoi devrions-nous choisir le processus Hibernate ?

Voici les techniques et processus ci-dessous que nous pouvons utiliser lorsque nous commençons l'adaptation du processus :

  • Hibernate permet aux développeurs de déterminer les champs de type de version dans l' application, qui peuvent être modifiés dans les données en temps réel ; cette fonctionnalité permet à l'utilisateur de sauvegarder les données et de les modifier en même temps.
  • Hibernate implémente l'assistance aux annotations JPA Par exemple : @Entity, @Table, @Col, etc.
  • Dans Hibernate, le regroupement de connexions est une technique dans les connexions de base de données lorsque nous créons et stockons dans le cache par l'outil externe, ces connexions que nous pouvons réutiliser à partir du cache lui-même à l'avenir si nous devions les réutiliser pour nous connecter à la même base de données dans notre application que nous avons créée
  • Hibernate étend le meilleur degré d'évolutivité dans n'importe quel environnement. Il peut être pratiqué pour toutes les tailles de projets, d'une application à petite échelle à une application utilisée par des millions de personnes.
  • Dans Hibernate, la gestion des versions de la base de données est un outil important qui permet d'empêcher que les modifications soient annulées par inadvertance par d'autres utilisateurs. Il permet l'enregistrement des types de version au sein d'une application. Lorsque les données sont mises à jour ou stockées, un type de version et un horodatage, nous pouvons également enregistrer pour le suivi.
  • Hibernate implémente la persistance transparente, et le développeur n'a pas besoin d'écrire de code explicitement pour mapper les tuples de table de base de données aux objets d'application lors de l'interaction avec RDBMS.
  • Dans Hibernate, la gestion des transactions est la méthode permettant d'accomplir un ensemble d'instructions ou de commandes. Dans Hibernate, la gestion des transactions est effectuée par l'interface de transaction.

Cinq raisons d'envisager Hibernate plutôt que JDBC

  1. Il résout les problèmes complexes d'incompatibilité objet-relationnel :

Il fournit une solution rapide dans un langage de programmation orienté objet avec une base de données relationnelle.

Exemple : les divergences dans les types de données, les différences de structure et d'intégrité, les exceptions de manipulation et de transaction peuvent toutes entraîner des incompatibilités complexes relationnelles objet.

2. Mappage automatique des objets :

JDBC et Hibernate résident dans le fait qu'il prend en charge le mappage automatique d'objets. Transparent Persistence », cette méthode permet à Hibernate de rédiger des tables de base de données pour les objets de l'application grâce à l'interaction.

  1. Langage de requête Hibernate (HQL)

Hibernate maintient le langage de requête structuré (SQL). JDBC ne prend en charge que SQL, Hibernate Query Language (HQL) est lié à SQL en ce sens qu'il s'agit d'un langage de requête orienté objet. Pour connecter le chemin, HQL interprète les requêtes vers les requêtes SQL qui peuvent alors lancer des opérations dans la base de données.

  1. Indépendance de la base de données

Hibernate permet de mapper la connexion des tables de données et des applications via des fichiers XML ; il fournit de meilleurs moyens de transférer les données vers une nouvelle base de données si nécessaire. Alors que la manière d'accéder aux bases de données, l'information est nécessaire, si dans le cas de la réutilisable de celui-ci. La mise en cache est un composant essentiel pour les performances de la base de données, ce qui réduit le temps et prend en charge les applications en temps réel.

  1. Regroupement de connexions dans Hibernate :

Hibernate peut atteindre des performances plus fiables ; il fournit une « mise en commun des connexions » ; il s'agit d'un processus de collecte des connexions à la base de données dans le cache. Ces connexions peuvent être réutilisables à partir du cache lui-même si l'application tente de se connecter plusieurs fois à la même base de données.

Questions et réponses de l' entretien d'hibernation

Question : 1 Comment configurez-vous Hibernate pour écrire les instructions SQL exécutées et utiliser les paramètres de liaison dans le fichier journal ?

Réponse : Voici les étapes ci-dessous :

Créez deux sections de journal et niveaux de journal différents pour consigner les instructions SQL exécutées et les paramètres de liaison :

  • Catégorie org.hibernate.SQL .
  • catégorie org.hibernate.type.descriptor.sql avec le niveau de log TRACE.

Question : 2 Décrivez vos fonctionnalités préférées du framework Hibernate.

Réponse : Outil ORM, Hibernate fournit un langage de requête puissant (HQL)

Question : 3 Comment pouvez-vous différencier Entity Beans et Hibernate.

Réponse : Les beans entité sont des conteneurs, des classes, des descripteurs. Hibernate est un outil qui rend instantanément persistante l'arborescence d'objets dans une classe.

Question : 4 Expliquez le processus de l'objet Session et comment pouvons-nous l'utiliser dans un cache de premier niveau et un cache de deuxième niveau ?

Réponse : Mise en cache de premier niveau : Elle commence à chaque session , avec un objet « session » .

Mise en cache de deuxième niveau : elle peut être partagée au-delà de plusieurs sessions .

Question : 5 Comment fonctionne l'héritage dans Hibernate ? Quelles sont les différentes stratégies disponibles pour le mettre en œuvre ?

Réponse : Trois types d'Héritage :

  1. Tableau par hiérarchie
  2. Tableau par classe de béton
  3. Tableau par sous-classe

Question : 6 Comment fonctionne le verrouillage dans Hibernate ? Quels sont les différents mécanismes de verrouillage disponibles ?

Réponse : Les mécanismes de verrouillage sont optimistes et pessimistes Question : 7 Comment fonctionne la gestion des transactions dans Hibernate ?

Réponse : Cela fonctionne avec l'aide de (JTA, JDBC).

Question : 8 Qu'est-ce que le chargement paresseux dans Hibernate ?

Réponse : Ce mécanisme sur les entités et leurs associations en implémentant un proxy de classes.

Question : 9 Quelles sont les différentes stratégies de récupération disponibles dans Hibernate ?

Réponse : Récupération par jointure et récupération par sélection

Question : 10 Quelles sont les différentes stratégies de récupération disponibles dans Hibernate ?

Réponse : Join-Fetching et Select Fetchings sont les récupérations disponibles dans Hibernate.

Question : 11 Quelle est la différence entre les méthodes getting () et load () dans Hibernate ?

Réponse : getting() et load() qui sont utilisés pour récupérer les données pour l'identifiant attribué. La méthode Get () renvoie null, la méthode load () génère une erreur de type d'exception d'objet introuvable.

Question : 12 Pourquoi ne devriez-vous pas rendre la classe d'entité finale ?

Réponse : Il est utilisé pour la liaison d' entité .

Question : 13 Expliquez les avantages et les inconvénients des objets détachés.

Réponse : Il s'est connecté à la session Hibernate dans le passé ; il a une description dans la base de données

Question : 14 Qu'est-ce que le langage de requête Hibernate (HQL) ?

Réponse : Il est basé sur les concepts OOPS.

Question 15 : Indiquez le rôle joué par l'interface SessionFactory dans Hibernate.

Réponse : Il s'agit d'un processus d'objet thread-safe et peut être utilisé dans le processus de thread d'application

Question : 16 Quel est l'avantage d'Hibernate par rapport à JDBC ?

Réponse : Il offre les performances et l'évolutivité les plus rapides.

Question 17 : Décrivez certaines bases de données gérées par Hibernate.

Réponse : Base de données relationnelle utilisant JDBC.

Question : 18 Comment pouvez-vous différencier les méthodes session.save() et session.persist() ?

Réponse : Session.save() est utilisé pour enregistrer l'objet dans la base de données et session.persist() pour les objets transitoires et persistants.

Question : 19 Expliquez la méthode de mise à jour et de fusion ?

Réponse : Il peut être utilisé pour transformer l'objet, qui est dans un état détaché.

Question : 20 Est-il possible d'effectuer un mappage de collection avec One-to-One et Many-to-One ?

Réponse : Il peut être utilisé dans une table mappée à plusieurs lignes d'une autre table.

Question : 21 Comment effectuer une transaction dans Hibernate ?

Réponse : À l'aide de la déclaration de classe @transctional, nous pouvons effectuer une transaction.

Question : 22 Où les mappages objet/relationnel sont-ils représentés dans Hibernate ?

Réponse : Hibernate ORM est un mappage objet/relationnel.

Question : 23 Que pensez-vous de Light Object ?

Réponse : Session, Requête, Critères, Transaction sont le concept d'Objet Léger.

Question : 24 Qu'est-ce que @Transient dans Hibernate ? Quel est l'avantage de cela?

Réponse : @ Transient Il s'appliquait dans javax, son package de persistance.

Question : 25 Comment combiner Struts Spring Hibernate ?

Réponse : Avec l'aide de ContextLoaderPlugIn, nous pouvons combiner.

Question : 26 Expliquez la journalisation Hibernate Log4j.

Réponse : Il se compose du fichier By log4j.xml et du fichier log4j.properties.

Question : 27 Comment pouvons-nous limiter les mises à jour simultanées dans Hibernate ?

Réponse : Avec l'aide du processus de verrouillage pessimiste, nous pouvons limiter les mises à jour simultanées.

Question : 28 Quelles sont les meilleures méthodes pour déterminer vos classes persistantes Hibernate ?

Réponse : Il existe de nombreuses meilleures méthodes et meilleures pratiques que nous pouvons utiliser avec la classe persistante Mapping et ses mécanismes.

Question : 29 Qu'est-ce que le concept de modification d'objets persistants ?

Répondre: les objets persistants sont poursuivis en hibernant et sont stockés dans la base de données lorsqu'une demande de validation se produit.

Question : 30 Qu'est-ce qu'une relation bidirectionnelle un à plusieurs dans Hibernate ?

Réponse : C'est la référence du handle de l'attribut d'association des nombreuses vues comme l'avantage de l'attribut mappedBy, Hibernate a toute l'érudition dont il a besoin. Avec ces processus, nous devons définir une association plusieurs-à-un bidirectionnelle.

Lire : Compétences pour devenir un développeur full stack

Question : 31 Qu'est-ce que le remplacement de valeur dans le travail Message Resource Bundle ?

Réponse : ResourceBundleMessageInterpolator de Hibernate Validator génère deux instances de ResourceBundleLocator une pour la validation UserDefined Messages de validation standard – defaultResourceBundleLocator .

Question : 32 Expliquez le processus de l'ordre d'exécution des instructions SQL.

Réponse : Il s'agit d'un cache de deuxième niveau dans un ordre particulier car les contraintes de clé étrangère ne peuvent pas être interrompues : insertions, mises à jour, suppression d'éléments de tableau, insertion d'éléments de tableau, suppressions, dans le sens dans lequel ils ont été présentés.

Question : 33 Comment pouvez-vous définir le cache de 2e niveau dans Hibernate avec EHCache ?

Réponse : Terracotta Ehcache est un cache moderne qui fonctionnait comme un cache de second niveau Hibernate . Il peut être pratiqué comme un cache de second niveau autonome .

Question : 34 Quelle est la principale différence entre Entity Beans et Hibernate ?

Réponse : Les beans entité continuent d'être exécutés par des descripteurs, des conteneurs et des classes. Hibernate n'est qu'un mécanisme qui endure immédiatement l'arborescence d'objets dans une hiérarchie de classes dans une base de données.

Question : 35 Expliquez les étapes de connexion gérées à l'aide d'Hibernate ?

Réponse : Avec l'aide de SQL Join, nous pouvons le gérer.

Question : 36 Expliquez le processus de proxy Hibernate ?

Réponse : Le proxy Hibernate Cela fait référence à Hibernate lorsque nous appelons Session. charge().

Question : 37 Quel est le principal avantage d'utiliser Hibernate plutôt que d'utiliser SQL ?

Réponse : Avec la pratique de l'ORM et avec l'utilisation d' Hibernate , l'utilisation du SQL fait qu'Hibernate évite d'écrire des requêtes à grande échelle.

Question : 38 Expliquez les modèles de conception que nous pouvons utiliser dans Hibernate ?

Réponse : Le modèle de proxy, le modèle de domaine et le modèle d'objet sont les modèles de conception.

Lisez aussi: Carrière dans le développement Full Stack

Question : 39 Expliquez l'architecture d'Hibernate.

Réponse : Hibernate a une architecture en couches qui permet à l'utilisateur de gérer sans avoir à comprendre les API sous-jacentes

Question : 40 Répertoriez les types de données pris en charge dans Hibernate ?

Réponse : IntegerType,FloatType,DoubleType,CharacterType,ShortType.

Question : 41 Qu'est-ce que (JDO, CMP) ?

Réponse : Ses technologies de persistance Java.

Question : 42 Quelle est la principale différence entre Spring et Hibernate ?

Réponse : Spring et hibernate sont deux frameworks distincts. Contrats de printemps avec flux d'amplification de l'application. Hibernate concerne l'interaction entre l'application et la base de données.

Question : 43 Quand peut-on trouver les solutions ORM dans Hibernate ?

Réponse : Hibernate est le concept de solution de mappage objet/relationnel (ORM) pour Java ; le terme mappage objet/relationnel concerne la procédure de mappage de données entre une description de modèle d'objet et une description de modèle de données relationnelles.

Question : 44 Mentionnez le processus étape par étape pour effectuer une transaction dans Hibernate.

Réponse : à l'aide des propriétés ACID-> (Atomicité, Cohérence, Isolation et Durabilité).

Question : 45 Où sont les mappages dans Hibernate ?

Réponse : Les mappages Hibernate sont les fonctionnalités d'Hibernate ; ils organisent la connexion entre deux tables de base de données tandis que les attributs de votre modèle. Cela vous permet de piloter rapidement les associations dans vos requêtes de modèle et de normes.

Question : 46 Pouvez-vous aborder les différents types de relations possibles dans le mappage Hibernate ?

Réponse : un à un, plusieurs à un, un à plusieurs, plusieurs à plusieurs.

Question : 47 Où pouvons-nous définir les mappages d'objets dans Hibernate ?

Réponse : Conversion d' objets Java en requêtes SQL pour stocker les données.

Question : 48 Pouvez-vous énumérer les nombreux types de collections dans Hibernate ?

Réponse : HashMap, HashSet, TreeSet et Arraylist sont les types de collection dans Hibernate.

Question : 49 Quel est le processus de récupération des données de la base de données dans Hibernate ?

Réponse : Avec l'aide des critères Hibernate utilisant la fonction API beginTransaction() avec la session, nous pouvons récupérer les données.

Question : 50 Expliquez les fichiers de mappage Hibernate grâce à l'utilisation des annotations JPA @NamedQuery et @NamedNativeQuery.

Réponse : @NamedQuery et @NamedNativeQuery sont les types de requêtes HQL, qui gèrent les complexités de la transformation du HQL dans les nombreux dialectes SQL.

Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Nous espérons que cet article vous a aidé à comprendre les 50 meilleures questions d'« entrevue » d'Hibernate pour les débutants et les professionnels.

Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Décrochez le job de vos rêves

Postulez maintenant pour une maîtrise en génie logiciel