J'ai mappé une relation 1/n entre une entité Commande et une entité Item de commande à savoir que fonctionnellement ma commande est composée de 1 ou plusieurs items de commande. En base cela se traduit par une clef etrangère id_commande dans la table Item_commande vers la clef primaire id_commande de la table Commande.
Les primary_key de mes 2 tables sont valorisés via des sequences. J'ai positionné cascade="all" sur ma relation one-to-many afin de gérer la persistence des commandes et de leurs items de commande en même temps.
Voila mon pb :
Lorsque je créer une commande avec plusieurs items de commande associées via un appel à session.save(commande) Hibernate me valorise bien les clefs primaires de l'ensemble des objets constituant ma grappe d'objets à l'aide des séquences, il tente d'inserer la commande puis lorsqu'il tente d'inserer les lignes de commande il lève une exception précisant que id_commande est null dans mes items de commande et qu'il ne peut donc pas valoriser la clef etrangère en base.
Ma question est : Hibernate peut-il inserer une grappe d'objets en un seul appel à la méthode save (sur mon objet parent de la grappe) et en valorisant les clefs etrangères automatiquement ?
Partager