从未初始化的持久集合中获取 ID

发布于 2024-10-02 09:28:36 字数 177 浏览 0 评论 0原文

我遇到一种情况,在查看 Hibernate API 文档或 SO 时没有找到答案。

我们有一个断开连接的设置,我们通过网络将实体和集合发送回。我们正在寻找一种使用本地化缓存来减少一些线路流量的方法,并且我正在尝试找出是否有一种方法可以在不初始化集合的情况下获取持久集合(特别是 PersistentSet)中实体的 ID ?

I have a situation that I have not found an answer to when looking through the Hibernate API documentation or on SO.

We have a disconnected setup, and we send entities and collections back across the wire. We are looking at a way to use a localized cache to reduce some of the wire traffic, and I am trying to figure out if there is a way to get the IDs of entities in a persistent collection (specifically, PersistentSet) without intializing the set?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

横笛休吹塞上声 2024-10-09 09:28:36

不,不可能有; PersistentCollection 不包含关联实体的 id - 如果这是其目的,那么它将是一个普通集合,包含关联 id 的延迟加载代理。

检查成员资格通常需要额外的查询或联接(外键与主键不在同一个表上......),这非常昂贵,值得推迟加载它。该设施就是持久性集合。

No, there can't be; a PersistentCollection does not contain the ids of the associated entities - if that were its purpose, it would be an ordinary collection holding lazy loading proxies for the associated ids.

Checking membership generally requires an additional query or join (the foreign key is not on the same table as the primary key ...), which is sufficiently expensive to merit a facility to defer loading it. That facility is the persistent collection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文