# Java > Gnral Java > Persistance des donnes >  [Hibernate] illegally attempted to associate a proxy with two open Sessions

## NeoKript

Bonjour a tous,

j'ai l'exception suivante quand j'effectue certaine operation, et je ne trouve pas pourquoi.

Ca se produit entre autre quand je fait un delete et un update. (mais par sur tous mes objets).



```

```



```

```

Si vous pouviez me guider ca serait sympa car je ne trouve vraiment pas, je ne comprend meme pas l'exception. 
J'ai trouver deux autre topics la dessus mais rien de concluant.

Merci d'avance.

Cordialement,
NeoKript

----------


## fr1man

Soit tu fermes tes sessions  chaque fin de mthode create, refresh, update etc...
Soit tu utilises les mcanismes de sessions contextuelles, associes  un thread, une transaction ou autre. Tu trouveras des informations  ce sujet dans la documentation officielle.

----------


## NeoKript

Salut,

Quand je met, session.close() a chaque fin de methode
j'ai l'exception suivante :



```
could not initialize proxy - no Session
```

----------


## NeoKript

J'ai l'impression que le delete/updateorsave fonctionne uniquement quand il n'y a pas de ForeignKeys.

Est-ce que cela peut-etre lie, car quand toutes les valeurs des foreignkey sont nulles cela fonctionne .

----------


## NeoKript

Apres de nombreuses modifications,
il m'est toujours impossible de supprimer ou de modifier un utilisateur...

Si quelqu'un pouvais m'aider.

Merci d'avance

----------


## tchize_

ton utilisation est incohrente. Avec hibernate: on ouvre une session, on prend des opbjet, on les manipule, on les sauve, et on ferme la session. Et c'est autour de a qu'on met la transaction. La tu fais des microtransaction qui ne protgent rien, tu ne ferme pas tes session et tu balade joyeusement tes objets d'une session  l'autre. C'est mal.

Comme dit, soit tu ferme systmatiquement ta session (et alors adieu le lazy) soit tu garde ta session plus longtemps et tu la rutilise.

----------


## NeoKript

Salut et merci pour ta reponse, 

d'apres ce que je comprend, il faut donc au chargement de l'application que je load tous mes objets, que je ne fasse plus de requetes de recuperation de ceux-ci, que je fasse mes operations dessus et que a la fin je sauvegarde tout d'un coup ?

Et concernant les sessions, j'ouvre une session, je la garde tout le temps que l'application est ouverte et lorsque je quitte l'application je close la session, et pendant que l'application tourne je peux faire des commits sur des transaction pour modifier des objets, les deletes .. etc ?


Merci pour ces precisions

----------


## tchize_

ouais, enfin il vaut quand mme mieux hacher ton travail. Un utilisateur veux modifier un objet:

session, get de l'objet, interface d'edition, save de l'objet, fermeture de session.

----------

