Java GAE数据存储:如何存储自定义对象的ArrayList

Java GAE数据存储:如何存储自定义对象的ArrayList,java,google-app-engine,arraylist,google-cloud-datastore,objectify,Java,Google App Engine,Arraylist,Google Cloud Datastore,Objectify,我必须为学校开发一个web应用程序,但我有以下问题:我有一个对象,它有几个属性,其中一个是带有自定义对象的arraylist。然后我使用objectify将对象放入数据存储中,但是当我在gae dashboard数据存储查看器上检查时,它拥有所有属性,但没有arraylist 要更好地了解其工作原理,请执行以下操作: 这是包含arraylist的对象: public class Competentie implements Serializable { private static fi

我必须为学校开发一个web应用程序,但我有以下问题:我有一个对象,它有几个属性,其中一个是带有自定义对象的arraylist。然后我使用objectify将对象放入数据存储中,但是当我在gae dashboard数据存储查看器上检查时,它拥有所有属性,但没有arraylist

要更好地了解其工作原理,请执行以下操作: 这是包含arraylist的对象:

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;
    }
}
有人能帮我一下吗?如果有人需要更多信息,请询问。

查看此处的wiki:

你在Stelling类中使用了@Embed吗?这是我唯一能想到的。此外,它们还有一系列嵌入类需要记住的事项,它们是: 要记住的一些事情:

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

你也可以考虑对DesteleGEN对象进行搜索,如果上面的一个是真的,但是你不能查询它。


我不能使用@Embed注释,因为我使用的是objectify v3,我必须使用该版本。这个版本也可以吗?在Objectify v3中,您应该能够使用@Embedded注释。指向@embed In v3文档的链接:在我的deStellingen arraylist前面添加了@Embedded注释,但它没有显示在数据存储中。
public void createCompetentie(String comp){
   Competentie c = new Competentie(comp);
   ofy.put(c);
}