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 :
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
4
5 <set name="probesetsOfCdf" lazy="extra" > <key column="pbset_cdf_id"/> <one-to-many class="app.Probeset"/> </set>
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 Set<Probeset> pbsets = cdf.getProbesetsOfCdf(); System.out.println("TEST CDF = " + pbsets.size());
Et bien là, c'est le drame :
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()); }
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?java.lang.OutOfMemoryError: Java heap space
Merci d'avance pour vos réponses.
Partager