2011-02-01 169 views
0

看看http://code.google.com/intl/sv-SE/appengine/docs/java/datastore/jdo/relationships.html(拥有的一对一关系)的第一个示例。Google App Engine JDO关系(Java)

我不太明白一件事。
如果我从我的PersistanceManager中获得一个员工,我是否会同时获取ContactInfo,或者当我尝试使用它时是否会获取ContactInfo?

如果它在同一时间得到它,那么拥有的一对多关系如何?
只是为了举一个例子,可以说员工有一个包含100个ContactInfos的列表。
这是否意味着当我得到我的员工时,我将获得所有100个ContactInfos?

感谢
//˚F

回答

3

默认情况下,当你加载父数据,你不会得到孩子的数据。但是,如果您尝试访问该孩子,则会在此时加载该孩子。这叫做延迟加载。一个重要的注意事项是,如果你尝试访问一个懒惰加载的属性,一旦你关闭了JDO事务,你将会得到一个异常(因为这个实体现在已经被分离了)。

您可以使用JDO 提取组配置对实体的加载加载。加载父对象时,加载将会加载所有的子对象数据。如果您需要在事务处理后访问属性,或者需要通过网络将实体发送给客户端,这非常有用。

推荐阅读:

Fetch Groups

JDO Layer Design

+0

最好不要指的是停止在2008年存在更好的通过http进入这些页面,因为它们是JPOX://www.datanucleus .org/products/accessplatform_1_1 /因为这是你正在使用的内容 – DataNucleus 2011-02-02 19:51:46

相关问题