Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有什么方法可以从另一个客户端会话访问一个客户端会话的对象?
除非您已将实体隔离到客户端会话(ClassDescriptor.setIsIsolated),否则 ClientSession 实际上并不包含任何实体实例。因此,除非您禁用缓存,否则所有针对 ClientSession 的查询都将返回相同的实体实例。
如果您有隔离实体或实际使用 UnitOfWork,那么您必须从持有的 UnitOfWork/IsolatedClientSession 中获取值。不建议使用多个线程同时访问 UnitOfWork 或 ClientSession。
我不确定你想要实现什么,但根据TopLink 开发人员指南中的服务器和客户端会话,你不应该跨多个线程共享客户端会话:
尽管客户端会话是线程安全的,但不要使用它们跨多个线程进行写入。来自同一客户端会话的多线程写入操作可能会导致错误和数据丢失。有关详细信息,请参阅“并发”。
你能澄清为什么你需要这个吗?