JDO可以一次获取数据库模型的所有子项吗?
像:
class Parent {
@Persistent(mappedBy="parent")
private Set<Children> children;
}
class Children {
@Persistent
private Parent parent;
@Persistent
private String name;
}
在我的情况下,我有很多父母,我立即取。然后接近他们的孩子需要花费很多时间,因为他们懒洋洋地被带走了。
JDO(Datanucleus)是否一次支持他们的提取,与父母一起支持?
我还尝试用另一个查询独立地获取所有子项,然后将它们放入Level2缓存中,但仍然可以获取它们(也许jdo不知道它们之间的关系?因为ForeignKey(parent-id)没有最初被抓了?)
如何更快地阅读数据结构?
干杯,
扬
答案 0 :(得分:4)
您使用的是Fetch Groups吗?您的Child类可能不在默认的提取组中。
从中检索对象时 JDO的数据存储通常不是全部 字段立即检索。这个 是因为效率目的 只有特定的字段类型 在初始访问中检索到 对象,然后是任何其他对象 访问时检索(懒惰 加载)。这组字段是 loaded称为获取组