hibernate - 如何在大量数据上使用双向关系
问题描述
我们有一个数据库,其中包含大约 15m 条基于文本的记录(我们称它们为父记录),每个记录的大小约为 10kb。父对象与其他对象(所有者、标签、公司)等有许多单向关系。这很有效,因为当我们加载单个父对象时,我们不会无意中加载数据库的其余部分。
但是我们有一个问题,当相关记录(例如公司)更新时,此更改不会反映在父索引中。通过阅读其他问题,我发现这是一个常见问题,我们只需要添加一个双向关系,我们已经这样做了。例如,在公司中,我们现在与父记录建立了多对一关系。这样做的问题是,如果我们延迟加载,我们会在尝试更新父列表时收到错误,因为它还没有被实例化。如果我们急切地突然加载,我们会加载大部分数据库,这非常慢并且容易出现内存不足的异常。
我们应该如何构建它来避免这些问题。是否有另一种方法可以使用 / 替代 containsin 注释?如果不是,我们如何在不影响性能的情况下保持双向关系?
解决方案
推荐阅读
- sql - 如何根据ID将同一表上的两行合并为一行
- cookies - iframe 中的 Safari cookie
- c - 如何解决分段错误(核心转储)
- java - 将 java 数据列表转换为 JSON 数组数组
- javascript - 在客户端执行过滤并在服务器端进行搜索
- java - 从 SCDF 启动任务时如何解决执行“java.lang.IllegalArgumentException: Invalid TaskExecution, ID 3”?
- swift - 过滤 Firebase 数据 SwiftUI
- apache-royale - apache Royale 现在支持双向数据绑定吗?
- html - 注册后欢迎电子邮件中的添加到日历按钮
- javascript - 不起作用,Javascript 在单击按钮之前验证文本输入