@GenericGenerator un peu spécial?
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 :
Code:
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 ; |
j'aimerais introduire une notion d'id_lignecommande
Code:
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 ; |
Mon problème vient de la stratégie pour générer la PK.
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