gpt4 book ai didi

java - GAE 数据存储 : How to store arraylists of custom objects

转载 作者:行者123 更新时间:2023-12-01 13:48:37 27 4
gpt4 key购买 nike

我必须为学校开发一个网络应用程序,但我有以下问题:我有一个具有一些属性的对象,其中一个是带有自定义对象的数组列表。然后我使用 objectify 将对象放入数据存储中,但是当我检查 gae 仪表板数据存储查看器时,它具有所有属性,但没有数组列表。

为了更好地了解其工作原理:这是包含数组列表的对象:

public class Competentie implements Serializable {
private static final long serialVersionUID = 1L;
@Id Long id;
private String competentie;
List<Stelling> deStellingen = new ArrayList<Stelling>();

public Competentie(String c){
competentie = c;
}

public Competentie(){}

public String getCompetentie(){
return competentie;
}

public void setCompetentie(String c){
competentie = c;
}

public void voegStellingToe(Stelling s){
deStellingen.add(s);
}

public List<Stelling> getStellingen(){
return deStellingen;
}
}

这是我将其放入数据存储区的方式

public void createCompetentie(String comp){
Competentie c = new Competentie(comp);
ofy.put(c);
}

有人可以帮我解决这个问题吗?如果有人需要更多信息,请询问。

最佳答案

在维基百科上查看: https://code.google.com/p/objectify-appengine/wiki/Entities#Embedding

您在 Stelling 类上使用了 @Embed 吗?这是我唯一能想到的。他们还列出了关于嵌入类需要记住的事项,它们是:需要记住的一些事情:

这不支持任何类型的二维结构。您不能将 @Embed 数组/集合嵌套在其他 @Embed 数组/集合中。您不能将 native 类型的数组/集合放入 @Embed 数组/集合中。但是,您可以将 @Embed 数组/集合嵌套在任意数量的 @Embed 类中。您应该初始化集合。 Null 或空集合不会写入数据存储,因此在加载期间会被忽略。此外,具体实例将按原样使用,允许您使用比较器或其他状态初始化集合。

如果上述情况之一为真,您还可以考虑对 deStellingen 对象进行密封,但您无法对其进行查询。 https://code.google.com/p/objectify-appengine/wiki/Entities#Serializing

关于java - GAE 数据存储 : How to store arraylists of custom objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20145159/

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