Bonjour,

J'ai une question sur les bonnes pratiques d'utilisation de JPA, en particulier sur l'échange des EJBs entre les couches service et dao.

Depuis la couche service, lorsque je récupère un EJB par l'intermédiaire d'une méthode "find" d'un dao, l'instance retournées est une instance persistante. Si cette instance vient à être modifiée, le framework de persistance (dans mon cas EclipseLink) va conserver l'instance modifiée en cache (L2, si je ne me trompe pas).
Lorsqu'un autre service a besoin de la même donnée, l'instance modifiée lui est alors resservi et les problèmes d'incohérence commencent.

Pour résoudre ce problème, il est possible de détacher l'instance renvoyée par les méthodes "find" du dao ; on perd alors le confort apporté par le lazy loading.
Comme autre solution, on peut créer une copie de l'instance, mais ça ne résolve pas le problème des instances renvoyées par le lazy loading.

Pourriez-vous partager vos bonnes pratiques sur le sujet, merci.