2009-12-07 10 views

Répondre

1

Si vous n'avez pas isolé vos entités dans la session client (ClassDescriptor.setIsIsolated), la session client ne contient aucune instance d'entité. Par conséquent, à moins que la mise en cache ne soit désactivée, toutes les requêtes sur une session client renverront les mêmes instances d'entité.

Si vous avez des Entités isolées ou que vous utilisez réellement un UnitOfWork, vous devrez obtenir la valeur de UnitOfWork/IsolatedClientSession. Il est déconseillé d'accéder simultanément à UnitOfWork ou à ClientSession avec plusieurs threads.

0

Je ne suis pas sûr d'obtenir ce que vous essayez de réaliser, mais, selon Server and Client Sessions du Guide du développeur TopLink, vous n'êtes pas censé partager session client accross plusieurs threads:

Bien que le client Les sessions sont thread-safe, ne les utilisez pas pour écrire sur plusieurs threads. Les opérations d'écriture multithread de la même session client peuvent entraîner des erreurs et une perte de données. Pour plus d'informations, voir "Concurrency".

Pourriez-vous expliquer pourquoi vous en auriez besoin?