gpt4 book ai didi

google-app-engine - 如何自动获取 JDO 嵌套实体集合?

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:07 24 4
gpt4 key购买 nike

可能是一个非常微不足道的问题。

我有一个看起来像这样的对象:

@PersistenceCapable  
public class Parent {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private String _id;

@Persistent
private List<Child> _children;

//...
}

...嵌套实体看起来像这样(我被迫将主键声明为 Key 否则它不会持久化):

@PersistenceCapable  
public class Child {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key _id;

@Persistent
private String _whatever;

//...
}

当我持久化时,一切都变得正常(包括子实体),但我想通过获取父对象(例如 getObjectById)取回一切,但集合返回为 null。

Owned One-to-Many Relationships似乎是我正在寻找的东西 - 但我无法看到它如何帮助我取回带有填充的子实体集合的父对象。

感谢任何帮助!

最佳答案

@Persistent(defaultFetchGroup = "true")成功了,你是对的。

您的 _children 属性的内容仅在您第一次访问它时(在 pm.close 之前!)加载。这称为延迟加载。如果你想默认直接加载子实体或子实体集合,应用上面的“技巧”。

在我的应用程序中,如果是子实体集合,它会在开发服务器上生成一条错误消息(数据存储不支持连接..),但您可以忽略这个错误的错误,它在 Dev 和产品环境。

请注意,通过其父实体获取集合需要为每个子实体获取 1 个数据存储区。

关于google-app-engine - 如何自动获取 JDO 嵌套实体集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6643902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com