IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Relation OneToMany qui marche pas


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut Relation OneToMany qui marche pas
    Bonjour
    J'ai une classe CategorieProduit (arborescente)qui peux eventuellement
    1 - contenir une ou plusieurs CategorieProduit "enfants"
    2 - etre reliée à 0 ou 1 CategorieProduit "parent"
    Je n'arrive pas à récuperer ma liste d'enfants tandis que le parent est correctement récupéré de la base.

    A - J'utilise Toplink/derby
    B - Voici comment j'implémente ma classe :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    .@Entity
    public class CategorieProduit implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
     
    private String name;
     
    /*...les getters et setters qui vont bien...*/
     
    @OneToMany(mappedBy = "categorieProduit", fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
    private List<Produit> produits;
     
    @ManyToOne(fetch = FetchType.LAZY)
    private CategorieProduit categorieParent;
     
    @OneToMany(mappedBy="categorieParent", fetch = FetchType.EAGER, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
    private List<CategorieProduit> categoriesEnfants = new ArrayList<CategorieProduit>();
     
    public List<CategorieProduit> getCategoriesEnfants() {
            return categoriesEnfants;
        }
    .
    .
    .
    J'ai déja essayé de changer le fecht mais sans succes.
    L'appel du getCategoriesEnfants().size() me renvoie systématiquement 0 alors que j'ai bien dans ma base des données correctes :
    ID NAME CATEGORIEPARENT_ID
    252 Voie orale null
    253 Comprimés 252
    254 Comprimés effervescent 253

    Question...qu'est ce que je fait (de) mal?
    Merci pour votre aide

  2. #2
    Membre confirmé Avatar de samaury
    Homme Profil pro
    Chevalier Jedi
    Inscrit en
    Mars 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chevalier Jedi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 114
    Par défaut
    J'ai re-créé ma base et re-compilé ma classe et miracle...ça marche!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script qui marche pas...
    Par jpg dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/10/2004, 15h19
  2. requete(jointure 2 tables) qui marche pas
    Par DaxTaz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2004, 18h50
  3. une comparaison qui marche pas.
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/02/2004, 16h59
  4. [LG]Split qui marche pas
    Par macluvitch dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2003, 19h19
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo