Récemment, j’ai écrit beaucoup de tutoriels sur Hibernate. Hibernate est l’un des meilleurs outils ORM Java sur le marché actuel. Donc, ce post est comme un index de tous les posts pour les tutoriels et exemples Hibernate. Vous pouvez parcourir ces tutoriels Hibernate séquentiellement pour apprendre Hibernate à partir de zéro. Il est probable que j’ajouterai plus de tutoriels Hibernate à la liste, donc vous voudrez peut-être le mettre en signet et le vérifier de temps en temps.
Tutoriel Hibernate
- Tutoriel Hibernate pour débutants Hibernate prend en charge les annotations JPA et est très flexible. Nous pouvons le configurer en utilisant XML, des fichiers de propriétés ainsi que de manière programmatique. Ce tutoriel est une excellente façon de commencer avec le framework Hibernate. Il se concentre sur les configurations différentes requises pour Hibernate et fournit des exemples de mappage simple basé sur XML ainsi que sur des annotations JPA. Vous apprendrez également différentes façons d’initialiser
SessionFactory
et les composants importants du framework Hibernate. - Mappage Hibernate One-to-One La plupart du temps, les tables de base de données sont associées les unes aux autres. Il existe de nombreuses formes d’association – un à un, un à plusieurs et plusieurs à plusieurs sont les niveaux généraux, qui peuvent être ensuite divisés en mappings unidirectionnels et bidirectionnels. Ce tutoriel vous guide à travers la mise en œuvre du Mappage Hibernate One to One en utilisant une configuration XML ainsi que l’utilisation de la configuration des annotations JPA.
- Mappage Hibernate One-to-Many En termes simples, le mapping un à plusieurs signifie qu’une ligne dans une table peut être associée à plusieurs lignes dans une autre table. Par exemple, pensez à un système de panier où nous avons une autre table pour les articles. Un panier peut avoir plusieurs articles, donc ici nous avons un mapping un à plusieurs. Dans ce tutoriel, vous apprendrez comment implémenter le Mappage Un à Plusieurs en utilisant une configuration basée sur XML puis en utilisant les Annotations Hibernate.
- Mappage Hibernate Many-to-Many Le mapping Many-to-Many est généralement implémenté en base de données en utilisant une table de jonction, par exemple nous pouvons avoir la table Panier et la table Article et la table Cart_Items pour le mapping many-to-many. Chaque panier peut avoir plusieurs articles et chaque article peut faire partie de plusieurs paniers, donc nous avons ici un mapping many to many. Ce tutoriel explique le mapping hibernate many-to-many unidirectionnel ainsi que le mapping bidirectionnel.
- Langage de requête Hibernate (HQL) Le framework Hibernate est livré avec un puissant langage de requête orienté objet – le langage de requête Hibernate (HQL). Il est très similaire à SQL, sauf que nous utilisons des objets au lieu de noms de table, ce qui le rapproche davantage de la programmation orientée objet. Cet article explique le HQL et les différentes clauses prises en charge par ce langage.
- Requête SQL native Hibernate Hibernate offre la possibilité d’exécuter des requêtes SQL natives grâce à l’utilisation de l’objet SQLQuery. C’est très pratique lorsque nous voulons exécuter des requêtes spécifiques à la base de données qui ne sont pas prises en charge par l’API Hibernate, telles que les indices de requête ou le mot-clé CONNECT dans Oracle Database.
- Requête nommée Hibernate S’il y a beaucoup de requêtes HQL ou SQL natives, elles vont causer un désordre dans le code car toutes les requêtes seront dispersées dans tout le projet. C’est pourquoi Hibernate fournit des requêtes nommées que nous pouvons définir à un emplacement central et les utiliser n’importe où dans le code. Nous pouvons créer des requêtes nommées à la fois pour le HQL et le SQL natif. Les requêtes nommées Hibernate peuvent être définies dans les fichiers de mappage Hibernate en utilisant l’élément
query
ousql-query
ou grâce à l’utilisation des annotations JPA @NamedQuery et @NamedNativeQuery. - Hibernate Criteria Hibernate fournit une API de Critères qui est plus orientée objet pour interroger la base de données et obtenir des résultats. Nous ne pouvons pas utiliser les Critères pour exécuter des requêtes de mise à jour ou de suppression ou des déclarations DDL. Il est uniquement utilisé pour récupérer les résultats de la base de données en utilisant une approche plus orientée objet. Certaines des utilisations courantes de l’API de Critères sont la Projection que nous pouvons utiliser pour des fonctions d’agrégation telles que sum(), min(), max() etc, ProjectionList pour ne récupérer que les colonnes sélectionnées, ordonner les résultats etc.
- Mémoire cache de premier niveau Hibernate La cache Hibernate peut être très utile pour obtenir des performances d’application rapides si elle est utilisée correctement. L’idée derrière le cache est de réduire le nombre de requêtes à la base de données, réduisant ainsi le temps de traitement de l’application. La cache de premier niveau Hibernate est associée à l’objet Session. La cache de premier niveau Hibernate est activée par défaut et il n’y a aucun moyen de la désactiver. Cependant, Hibernate fournit des méthodes grâce auxquelles nous pouvons supprimer des objets sélectionnés de la cache ou vider complètement la cache. Tout objet mis en cache dans une session ne sera pas visible pour les autres sessions et lorsque la session est fermée, tous les objets mis en cache seront également perdus.
- Mise en cache de niveau 2 Hibernate avec EHCache Les fournisseurs de cache de niveau 2 Hibernate comprennent EHCache et Infinispan, mais EHCache est plus populaire car il est facile à intégrer et prend en charge toutes les stratégies de mise en cache Hibernate. Ce tutoriel fournit un exemple complet pour intégrer EHCache avec le framework Hibernate.
- Obtenir vs charger avec Hibernate La session Hibernate fournit différentes méthodes pour récupérer des données de la base de données. Deux d’entre elles sont – get() et load(). Il existe également de nombreuses méthodes surchargées pour celles-ci, que nous pouvons utiliser dans différentes circonstances. À première vue, get() et load() semblent similaires car ils récupèrent tous deux les données de la base de données. Cependant, il existe quelques différences entre eux, ce tutoriel les explique avec un code exemple.
- Enregistrer vs persister avec Hibernate La session Hibernate est l’interface entre l’application Java et le framework Hibernate. Ce tutoriel explique les méthodes importantes de la session pour sauvegarder et mettre à jour les données dans les tables – save, saveOrUpdate, persist, update et merge.
- openSession Hibernate vs getCurrentSession La SessionFactory Hibernate est la classe d’usine à travers laquelle nous obtenons des sessions et effectuons des opérations sur la base de données. La SessionFactory Hibernate fournit trois méthodes à travers lesquelles nous pouvons obtenir un objet Session – getCurrentSession(), openSession() et openStatelessSession(). Ce tutoriel explique chacune d’entre elles avec un code d’exemple.
- Intégration log4j de Hibernate Hibernate 4 utilise le journal JBoss mais log4j est le framework de journalisation le plus populaire. Un tutoriel rapide explique comment intégrer le journal log4j avec le framework Hibernate.
- Exemple de DataSource Hibernate Tomcat JNDI La plupart du temps, le framework Hibernate est utilisé dans des applications web s’exécutant dans Tomcat ou tout autre conteneur de servlet. Hibernate peut utiliser la DataSource définie en tant que ressource JNDI dans le conteneur, c’est l’approche préférée pour laisser le conteneur de servlet gérer les connexions à la base de données en utilisant le pool de connexions.
- Intégration de Spring Hibernate Spring est l’un des frameworks Java EE les plus utilisés et Hibernate est le framework ORM le plus populaire. C’est pourquoi la combinaison Spring Hibernate est beaucoup utilisée dans les applications d’entreprise. Ce tutoriel utilise Spring 4 et l’intègre avec Hibernate 3, puis met à jour le même projet pour utiliser Hibernate 4.
- Exemple de Spring MVC Hibernate Ce tutoriel avance et explique comment intégrer Hibernate avec Spring MVC et utiliser la gestion de transaction déclarative de Spring, plutôt que d’utiliser la gestion de transaction Hibernate.
- Exemple d’intégration de Struts2 et Hibernate Ce tutoriel explique la manière générale d’intégrer Hibernate avec n’importe quelle application web grâce à l’utilisation de ServletContextLister. L’exemple utilise Struts2 avec Hibernate mais l’intégration en arrière-plan se fait uniquement avec la technologie Servlet. Cela diffère de l’intégration avec Spring car Struts2 ne fournit aucun support intégré pour l’intégration avec Hibernate.
- Exemple de validateur Hibernate La validation des données est une partie intégrante de toute application. C’est une tâche transversale qui se produit au niveau de la présentation, de la couche métier ainsi que de la couche persistante. C’est pourquoi JSR-303 fournit une norme basée sur des annotations pour appliquer la validation des propriétés des beans Java. Hibernate Validator prend en charge JSR-303 et ce tutoriel en montre l’utilisation avec un exemple simple.
- Plugin Eclipse Hibernate Tools Si vous avez travaillé sur des projets Hibernate, vous devez être familier avec de nombreuses propriétés nécessaires pour la cartographie et le fichier de configuration Hibernate. Sans outil approprié pour nous guider dans la recherche des propriétés correctes, il deviendra très difficile de configurer correctement notre application. C’est là que le Plugin Eclipse Hibernate Tools est utile et est un plugin indispensable pour les projets Hibernate.
- Questions d’entretien sur Hibernate Avoir une bonne connaissance du framework Hibernate est un atout lors des entretiens basés sur Java, c’est pourquoi j’ai écrit ce post. Il contient la plupart des questions importantes liées au framework Hibernate avec des réponses détaillées. Vous devriez les parcourir avant de passer un entretien pour rafraîchir vos connaissances.
Tutoriel Hibernate – Solutions aux erreurs courantes
- Comment configurer hibernate.cfg.xml pour travailler hors ligne
- org.hibernate.AnnotationException: Aucun identifiant spécifié pour la classe d’entité
- org.hibernate.HibernateException: get n’est pas valide sans transaction active
- org.hibernate.HibernateException: Aucun Contexte de Session Actuel configuré
- Programme Hibernate Ne Se Terminant Pas
- L’accès à DialectResolutionInfo ne peut pas être nul lorsque ‘hibernate.dialect’ n’est pas défini
Source:
https://www.digitalocean.com/community/tutorials/hibernate-tutorial