Bon j'ai quelque question a propos du mapping lorsqu'on a l’héritage.
bon voila une photo qui montre un petit exemple.
Pièce jointe 146096
et voila mes classes et leur mapping:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Produit implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) @NotNull private String title; @Column(nullable = false) @NotNull private Integer price; }
Code:
1
2
3
4
5
6
7
8
9 @Entity public class Livre extends Produit implements Serializable{ @Column(nullable = false) @NotNull private String isbn; @Column(nullable = false) @NotNull private String language; }
j'ai mis que les 3 classes car mes questions les concernent .Code:
1
2
3
4
5
6
7
8
9
10
11 @Entity public class lignedecommande implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private Integer quantity; @OneToOne @JoinColumn(name = "produit_fk", nullable = false) private Produit produit }
supposons que je crée un produit avec id=1,
et je crée un livre avec id =1.
et je crée un CD avec id =1.
lorsque je crée un ligne de commande avec fk=1 alors c'est le produit avec id=1 qui sera référencé dans la table lignedecommande.
comment je peux référencé un Livre ou un CD dans la table lignedecommande surtout que la table livre et CD n'ont pas de relation directe avec ligndecommande.
je sais pas comment faire surtout plu-tard je devrais faire des requêtes .
Merci.

