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