Bonjour à tous,
Encore une énième question sur le chargement lazy dans hibernate...
J'utilise Hibernate 3.2.5.ga dans une application basé sur un framework type netbeans, eclipse me permettant de partitionner mon application en différents modules.
Dans mon application, je charge dès le démarrage certaines données primordiales. Une donnée particulière possède une liste d'éléments qui peut facilement dépasser les 10000 éléments. J'ai fait donc fait en sorte que le chargement de ces éléments soit différé en effectant 'extra lazy'.
Ces données peuvent être visualisées dans un tableau et donc, je souhaite faire en sorte que la tentative de récupération de l'élément à l'index 20 provoque l'éxécution d'une requete permettant de charger l'objet correspondant s'il ne l'est pas déjà.
Le problème, c'est donc qu'il faut que j'englobe, en gros, les appels aux méthodes : getRowCount, etc... de mon modèle de table dans une session. Tant qu'a faire, si j'ai bien compris, il faut que si la session utilisé est nouvelle, il faut que je réattache mon objet contenant la liste à cette nouvelle session, et idéalement, utiliser la même session ce qui m'évitera tout le processus de réattachement.
L'application en question est un client lourd, donc j'utilise :
J'ai lu a différents endroits que le couplage d'hibernate avec Spring était souvent la solution à ce genre de problèmes mais j'aimerais en savoir un peu plus sur les points suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part hibernate.current_session_context_class=threadD'autres part, si c'est vraiment vers cette solution que je dois m'orienter, cela signifie que au fur et à mesure que je vais visualiser les éléments de ma table, je risque certainement d'avoir des effets de lenteur (au moins jusqu'à ce que tous les éléments soient chargés
- existe t-il une autre façon de résoudre le problème sans plomber mon modèle de table par la création de session inutile?
- ne connaissant que très peu spring, existe t-il un tutorial permettant de mieux comprendre comment réaliser ce que je viens de citer?
- c'est certainement une mauvaise compréhension de ma part mais j'aimerais savoir si lazy="extra" est imcompatible avec l'attribut batch-size? (question idiote
).
). Y'a t'il une solution à cette conséquence?
bref, j'aimerais avoir différents avis sur ce genre de problème.
xixi.
Partager