Hibernate relation OneToMany<>

0
634

Dans cette partie de Hibernate nous allons voir comment créer des relations avec des entité qui compose une collection. Dans notre exemple nous allons créer une relation de type OneToMany en ajoutant des factures à notre client mais ce que nous allons voire s’applique aussi à d’autre type de relation comme les ManyToOne et les ManyToMany.

Création de l’entité Invoice.

Nous allons commencer par crée une nouvelle entité que nous allons nommer invoice et qui comportera seulement un numéro d’id. dans une prochaine vidéo nous allons voir comment ajouter des articles à notre facture.

Donc rien de spéciale.

Ajouter les factures Au client.

Aller il est temps d’ajouter notre facture au client. Pour cela nous allons créer une liste dans notre class client qui contiennent les factures du client.

Et bien sûr pour qu’Hibernate comprend qu’il doit associer une facture au client nous allons placer l’annotation suivante @OneToMany car un client peut avoir plusieurs factures mais une facture ne peut avoir qu’un seul client.

De plus nous allons donner l’autorisation à notre class Customer de créer des factures avec le cascade et nous allons indiquer qu’il faut placer la relation dans un tableau que nous voulons nommer customer_invoice ou autre si vous le voulez.

Il ne faut pas oublier d’ajouter des setters et getters et de modifier le toString.

Tester notre application

Nous allons voir si tout fonctionne en créant 3 factures et puis nous allons l’ajouter à notre client comme suite

Et voilà nous avons nos factures qui s’ajoute à notre client et dans la base de données on peut retrouver une table invoice et une table customer_invoice qui regroupe les factures du client.

Conclusion

Comme on a bien pus le voir il est très facile d’indiquer une relation qui compose une liste ou set grâce à l’annotation OneToMany, ManyToOne ou ManyToMany.

Dans une prochaine vidéo nous allons terminer notre system de facture en ajoutant des articles à notre nos factures. D’ici là je vous souhaite bonne amusement et à la prochaine.

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.