Bonjour
Je débute avec Hibernate. Après avoir galéré sur la config, je vois assez mal comment faire ce qui va suivre.
Pour faire simple, j'ai 2 classes. Recherche est par exemple une recherche sur Google et Item un résultat de la recherche.
J'ai fais les fichiers de mapping, avec une table de jointure du type RechercheItem(rechercheid, itemid)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Public class Recherche { Collection<Item> items; String keywords; int id; ... } Public class Item { String url; String title; int id; Image img; ... }
La persistance fonctionne bien.
L'IHM est du type client RSS, a gauche une liste des recherches, et quand on clique sur une, à droite, dans un jtable, qui affiche la liste des items de la recherche.
Les items pouvant être par milliers, avec une image attachée, les instances sont très gourmandes en mémoire.
Je me demande donc comment faire pour ne CHARGER et GARDER en mémoire à un instant T seulement les instances des items dont la recherche est actuellement visualisée dans l'IHM ? Donc si je change la recherche actuellement sélectionnée, les items de la recherche précédente doivent "disparaitre" de la RAM. Mais les recherches doivent restées chargées, car elles sont toujours affichées à gauche.
Si j'ai bien compris, le lazy load instancie "vraiment" (remplissage de tous les attributs etc) les objets lors du premier accès, mais après, ils restent complètement en mémoire.
Les items doivent être persistés (pour garder un historique)
Je vous remercie d'avance pour toute piste utile que vous pourriez connaitre.
Partager