有没有办法从一个客户端会话访问另一个客户端会话的对象?
发布于 2010-04-26 20:32:02
除非您已将实体隔离到客户端会话(ClassDescriptor.setIsIsolated),否则ClientSession实际上并不持有任何实体实例。因此,除非禁用了缓存,否则对ClientSession的所有查询都将返回相同的实体实例。
如果您有独立的实体或者实际上正在使用UnitOfWork,那么您必须从持有UnitOfWork/IsolatedClientSession中获取该值。不建议同时访问具有多个线程的UnitOfWork或ClientSession。
发布于 2010-04-26 04:51:46
我不确定你想要实现什么,但根据TopLink开发人员指南中的Server and Client Sessions,你不应该跨多个线程共享客户端会话:
虽然客户端会话是线程安全的,但不要使用它们跨多个线程进行写入。来自同一客户端会话的多线程写入操作可能会导致错误和数据丢失。有关详细信息,请参阅"Concurrency"。
你能澄清一下为什么你需要这个吗?
https://stackoverflow.com/questions/1857757
复制相似问题