Bonjour,
je cherche à dompter hibernate pour un besoin bien précis, sur la génération d'un id automatique.
Actuellement, ma classe "ligne commande" est mappée comme suit :
j'aimerais introduire une notion d'id_lignecommande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @Entity @Table(name = "ligne_commande") public class LigneCommande implements java.io.Serializable{ @Id @ManyToOne @JoinColumn(name = "id_commande", nullable = false) private Commande commande ; @Id @OneToOne @JoinColumn(name="id_produit" ) private Produit produit ;
Mon problème vient de la stratégie pour générer la PK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 @Entity @Table(name = "ligne_commande") public class LigneCommande implements java.io.Serializable{ @Id @GenericGenerator(name = "mygen1", strategy = "increment") @GeneratedValue(generator = "mygen1") private LigneCommande lignecommande ; @ManyToOne @JoinColumn(name = "id_commande", nullable = false) private Commande commande ; @OneToOne @JoinColumn(name="id_produit" ) private Produit produit ;
Le "increment" me place les id commande les uns à la suite
Le besoin : je voudrais que l'incrémentation se fasse selon l'id commande
en fait, la commande 1 aura les idlignecommande 1,2,3 ; tout commande la commande 2.
je me dis que je devrais donc avoir un @Id sur l'attribut commande également, pour que id_lignecommande et id_commande soient mes Primary Key.
Comment faire comprendre cela à Hibernate? Existe-t-il une stratégie toute faite?
Dois-je créer ma propre stratégie ? Comment faire?
merci d'avance de vos réponses,
olivier
Partager