2

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)还没有被获取第一的?)

任何想法如何更快地读取数据结构?

干杯,

4

1 回答 1

4

你在使用Fetch Groups吗?您的子类可能不在默认提取组中。

当 JDO 从数据存储中检索对象时,通常不会立即检索所有字段。这是因为出于效率目的,在对象的初始访问中只检索特定的字段类型,然后在访问时检索任何其他对象(延迟加载)。加载的字段组称为提取组

于 2010-06-01T17:56:28.750 回答