Java GAE数据存储:如何存储自定义对象的ArrayList
我必须为学校开发一个web应用程序,但我有以下问题:我有一个对象,它有几个属性,其中一个是带有自定义对象的arraylist。然后我使用objectify将对象放入数据存储中,但是当我在gae dashboard数据存储查看器上检查时,它拥有所有属性,但没有arraylist 要更好地了解其工作原理,请执行以下操作: 这是包含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
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);
}