Bonjour,
J'ai actuellement un objet métier qui contient plusieurs données membres dont deux collections d'élément.
Je souhaiterais récupérer cet objet avec toutes ses données membres depuis ma base de donnée.
Cependant, lorsque je le récupère j'ai une erreur :
failed to lazily initialize a collection of role: .... no session or session was closed
Il apparait en effet que je ne puisse définir
@OneToMany(fetch = FetchType.EAGER) sur plus d'une collection en même temps ...
Voici la définition de mes deux collections du coup, qui provoque cette erreur :
1 2 3 4 5 6 7 8
|
@OneToMany(fetch = FetchType.EAGER)
@Cascade(CascadeType.ALL)
private List<Document> documents;
@CollectionOfElements
@Cascade(value={CascadeType.ALL, CascadeType.DELETE_ORPHAN})
private List<Signature> protagonistes; |
Comment faire alors dans ce cas pour récupérer toutes les informations ? Faut il faire une requete suplémentaire pour associer les valeurs les unes aux autres. Pour l'instant ma requete est simple :
List<Object> results = session.createQuery("from Dossier").list();
Il semble ma session récupère les dossiers. Puis, donc, ferme la session courante... Ce qui empèche par la suite de récupérer le reste ? Je ne comprends pas bien se qui se produit ... ???
Partager