Le 27/10/2010 10:11, Julien NICOLAS a écrit :
Nous pensions qu'un simple :
WorkstationDAO wsDAO = EasyFlowDAOHelper.getWorkstationDAO(pTransaction); Workstation workstation = wsDAO.findByName(pName); Collection<Flow> cFlow=workstation.getFlow();
Nous aurait permis de charger l'ensemble des flow.... visiblement non. En fait, Collection<Flow> cFlow=workstation.getFlow(); copie juste la reference de la liste qui est implémenté par un proxy hibernate, donc encore sans les données chargé.
Il y a plusieurs cas (paramétrer au cas par cas les lazy à false, suivant le modele..., là difficile de répondre). Sinon, si dans ce cas vous êtes dans du code métier il est possible de forcer l'initialisation de la liste de la façon suivante : Collection<Flow> cFlow = new ArrayList<Flow>(workstation.getFlow()); (si .getFlow() est une liste, sinon new HashSet()) -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com