2011-02-01 167 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

相關問題