HIBERNATE intro

0
5305

Nous avons vue avec JDBC que nous pouvons écrire des requetés SQL dans notre code Java afin de communiquer avec une base de données pour cela nous avons créer un dao dans notre projet qui est responsable de communiquer entre un objet et la base de données mais comme nous l’avons vue il y a beaucoup de requête SQL que nous allons répéter et qui di répétition si automatisation.

C’est là que Hibernate entre en jeu car Hibernate et un Framework qui va s’occuper des requête SQL pour nous donc nous allons simplement lui dire ce qu’il doit faire et Hibernate s’occupe d’écrire le code JDBC pour nous.

Installer les dépendances Hibernate et MySQL

Nous allons commencer par placer les dépendance Hibernate et MySQL dans notre POM.xml.

Pour rappel le MySQL va nous permettre de communiquer avec une base de données MySQL et puis nous avons Hibernate qui nous permettra d’utiliser les outils du Framework Hibernate.

Configurer Hibernate

Voila une fois tout installer nous allons configurer Hibernate pour cela nous allons devoir créer un dossier dans les ressources de notre projet que nous allons nommée exactement META-INF et dans se dossier nous allons créer un fichier du type xml que nous allons nommer persistence.xml

Et dans notre fichier persistence nous allons donc configurer Hibernate comme suite

Alors se qui nous intéresse c’est la partie persistence-Unit que nous allons voir.

Unité de persistance

Donc le persistence-unit c’est la partie ou nous allons donc placer toute la configuration de notre base de données et pour faire appel à cette unité de persistance nous allons lui donner un nom. Dans mon exemple je l’ai nommée connect.

Propriété de persistance

Ici nous allons donc configurer les propriétés de notre base de données en indiquant le driver MySQL, l’adresse, le nom d’utilisateur et le mot de passe.

Cela nous l’avons déjà vue dans JDBC quand on souhaite de créer une connexion pour rappel

Propriété d’Hibernate

Puis nous allons configurer Hibernate dans notre unité de persistance en indiquant le dialecte SQL qu’avec le quelle nous allons communique avec notre base de données. Avec le show SQL nous allons afficher la requête SQL qu’Hibernate va générer pour nous cela est plutôt pratique afin de vérifier se qui se passe.

Pour finir nous avons le hbm2ddl.auto qui à 3 paramètre importante 

Create : qui efface les tables dans la base de données et recrée les tables à chaque compilation.

Update : qui met à jour nos table dans la base de données à chaque compilation

Valide : qui nous oblige à utiliser les tables et champs existant dans la base de données donc nous ne pouvons pas ajouter supprimer de nouveau champs ou table. Vous allez voir cela deviendra très vite claire.

Établir la connection avec Hibernate.

Il est temps désormais d’établir la connexion entre notre application et notre base de données avec Hibernate. Pour cela nous allons utiliser la class EntityManagerFacotry ou nous allons dire ou il peut trouver les informations de connexion qui se trouve dans notre fichier persistence.xml. Comme suite.

Et si on lance notre application et qu’il n’y a pas de message d’erreur alors la connexion est établi.

Pour info ceci  ne sont pas des messages d’erreur.

Les entités

Violâmes-nous avons une connexion entre notre application et notre base de données et désormais nous allons appliquer ORM ou objet relationnel mapping cela veut dire que nous allons avoir un objet et une relation qui sera notre base de données. Nous allons donc devoir mapper ou indiquer la relation entre les deux c’est-à-dire que nous allons devoir définir quelle propriété correspond à quel champ de notre table dans la base de données.

Cela nous allons le faire avec des annotations que serons lue par Hibernate et la il fera la relation entre l’objet et champs table dans notre base de données.

Alors nous allons commencer par créer une classe que nous allons nommée Customer ou nous allons lui donner un numéro id et un nom. Puis nous allons placer un simple constructeur et des getters et setters.

Désormais si on place l’annotation @Entity au-dessus de la class Hibernate va associer cette class a la table Customer mais comme nous avons indiqué dans notre persistance que le ddl est Create alors Hibernate va créer une table dans notre base de données qui se nomme Customer mais avant cela nous devons indiquer l’identifier de la table avec l’annotation @Id.

Désormais quand compile notre application on peut voir dans la console qu’Hibernate à effacer la table Customer existant dans notre base de données

Et qu’il à recréer un table Customer dans la base de données.

Quand nous allons dans notre base de données on peut voir que la table Customer est créée.

Et quelle comporte les champs qui se trouve dans notre class Customer.

Personnaliser le nom de la table.

Si on souhaite dire à Hibernate d’utiliser une certaine table on lui indiquer le nom de la table si la table n’existe pas alors Hibernate créera la table.

Personnaliser les champs.

On peut faire la même chose avec les champs grâce à l’annotation @columen

Qui donne le résultat suivant.

Conclusion

Voila pour cette première partie sur Hibernate ou nous avons donc vue les bases comme configurer notre application afin de pouvoir utiliser et connecter Hibernate. Nous avons aussi vue à quel point il est facile de créer des tables dans notre base de données qui corresponde à notre class sans devoir écrire une seule ligne de requête car Hibernate le prend en chanare pour nous.

Dans une prochaine vidéo nous allons voir comment placer et lire des objets qui se trouvent dans la base de données. D’ici là je vous souhaite bonne amusement avec Hibernate et on se retrouve dans une prochaine vidéo.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.