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:
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