防止Datanucleus延迟加载

时间:2014-02-16 20:30:56

标签: google-app-engine jdo datanucleus google-cloud-endpoints

我有两个持久的JDO类。一个类包含另一个的列表。使用云端点公开包含类。但是由于延迟加载,api资源管理器向我展示了一个包含空对象的List。

我尝试将List添加到defaultFetchGroup,但是我收到以下错误:

  

数据存储区不支持连接,因此无法接受将相关对象放入默认提取组的请求。首次访问时,该字段将被懒散地取出。

所以在Cloud Endpoint get Method中我需要迭代列表。但这似乎不是正确的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这似乎不是“正确的方法”,但您选择使用的数据存储区不允许在一次调用中获取此类内容。因此,您必须访问该字段。显然谷歌在编写他们的插件时(正在进行提取, DataNucleus),可以写它来在幕后进行单独访问......但是他们没有,所以访问返回对象之前的字段。他们的插件也是开源的,所以你可以更新它以提供幕后获取,如果你想要https://code.google.com/p/datanucleus-appengine/