Bonjour à tous,

J'ai parcouru un peu les différents topics au sujet du lazy d'hibernate, mais j'ai encore du mal à bien utiliser hibernate pour de grosses sélections.
Donc j'ai un mapping de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
		<set name="probesetsOfCdf" lazy="extra" >
			<key column="pbset_cdf_id"/>
			<one-to-many class="app.Probeset"/>
		</set>
Donc ce set doit contenir plus de 50 000 élements, j'ai donc essayé de mettre le lazy à "extra" pour que cette portion de code fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
		Set<Probeset> pbsets = cdf.getProbesetsOfCdf();
		System.out.println("TEST CDF = " + pbsets.size());
Du coup, je pensais que c'était gagné, càd que j'ai enfin pu "charger" une grosse collection, mais en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
		Iterator iter = pbsets.iterator();
		while (iter.hasNext()) {
			Probeset p = (Probeset)iter.next();
			System.out.println(p.getPbsetName());
		}
Et bien là, c'est le drame :
java.lang.OutOfMemoryError: Java heap space
Donc voilà, comment fait-on pour travailler sur une grosse collection et pour que Hibernate se charge lui-même de charger les élements quand on en a besoin...C'est avec la configuration du lazy qu'on peut le faire?

Merci d'avance pour vos réponses.