Bonjour,
J'ai un petit soucis là, j'ai du mal à mapper le problème suivant (j'dois mal m'y prendre)
Prenons 3 entités (c'est un exemple, mais l'idée est là) :
Personne
Peintre
Carreleur
Un peintre est une personne.
Un carreleur est une personne.
Une personne peut être un peintre ET un carreleur.
Une personne peut aussi n'être rien du tout (juste une personne, sans "rôle" particulier)
Illustration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 table personne table peintre table carreleur id id id 1 1 2 2 4 4 3 5 4 5
Comment je mappe ça avec JPA ?
J'ai essayé de la manière suivante, mais c'est pas bon, puisque chaque entrée est unique (un peintre ne peut pas être un carreleur) :
Bien évidemment si j'essaye de faire ça, c'est parce que la personne a ses méthodes propres, le peintre aussi et le carreleur également...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @Entity @Inheritance(strategy = InheritanceType.JOINED) public class Personne extends AbstractEntity @Entity public class Peintre extends Personne @Entity public class Carreleur extends Personne
Mais j'm'y prends ptete mal, y'a ptete un design pattern qui réponds mieux que l'héritage à ce problème ?
Partager