Bonjour à tous,

Je suis en train de tester les EJB3 et je recontre un problème lorsque j'essaie de persister une classe qui cotient une collection d'une autre classe (ici une classe Commande et une autre Article). Toutes les instances se persistent bien dans la base mais la foreign key des articles ne contient pas l'id de ma commande.


Voici un extrait de mon code dans la classe Commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    @OneToMany(mappedBy = "commande",cascade=CascadeType.ALL)
    private Collection<Article> articles;
 
    public Collection<Article> getArticles() {
        return articles;
    }
 
    public void setArticles(Collection<Article> articles1) {
        this.articles = articles1;
    }
La même chose coté Article
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    @ManyToOne
    @JoinColumn (name="cde_id")
    private Commande commande;
 
    public Commande getCommande() {
        return commande;
    }
 
   public void setCommande(Commande commande) {
        this.commande = commande;
    }
Et la portion de code correspondant à l'execution de ma persistance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    public void createCommande(Commande commande) {
       System.out.println("EEEE"+commande.getId());
        em.persist(commande);
       System.out.println("SSSS"+commande.getId());      
    }
Pour info, j'utilise pour mes tests : postgresql, glassfish, hibernate comme provider de persistance, netbeans 5.5

Toute remarque est la bienvenue. Merci d'avance à ceux qui prendront le temps de me répondre.

T.