Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java objectify appengine-嵌入类-不受支持的属性类型_Java_Google App Engine_Entity Relationship_Objectify - Fatal编程技术网

Java objectify appengine-嵌入类-不受支持的属性类型

Java objectify appengine-嵌入类-不受支持的属性类型,java,google-app-engine,entity-relationship,objectify,Java,Google App Engine,Entity Relationship,Objectify,我正在google app engine上试用objectify(版本2.2.3)嵌入式类示例(wiki)。我得到这个错误: java.lang.IllegalArgumentException: one: com.mypkg.LevelOne is not a supported property type. at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUti

我正在google app engine上试用objectify(版本2.2.3)嵌入式类示例(wiki)。我得到这个错误:

java.lang.IllegalArgumentException: one: com.mypkg.LevelOne is not a supported property type. at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) java.lang.IllegalArgumentException:one:com.mypkg.LevelOne不是受支持的属性类型。 位于com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) 我的代码与Wiki中的代码相同。控制器中的部分:

EntityWithEmbedded ent = new EntityWithEmbedded(); ent.one = new LevelOne(); ent.one.foo = "Foo Value"; ent.one.two = new LevelTwo(); ent.one.two.bar = "Bar Value"; EntityWithEmbedded ent=新EntityWithEmbedded(); ent.one=新的LevelOne(); ent.one.foo=“foo值”; ent.one.two=新的LevelTwo(); ent.one.two.bar=“bar值”; EntityWithEmbedded类:

import javax.jdo.annotations.Embedded; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class EntityWithEmbedded { @Id public Long id; @Embedded public LevelOne one; //getter & setters here } 导入javax.jdo.annotations.Embedded; 导入javax.persistence.Entity; 导入javax.persistence.Id; @实体 公共类EntityWithEmbedded{ @Id公共长Id; @嵌入式公共一级; //这里是盖特和塞特 } 一级:

import javax.persistence.Embedded; public class LevelOne { public String foo; public @Embedded LevelTwo two; //getter & setters here } 导入javax.persistence.Embedded; 公共一级{ 公共字符串foo; 公共@Embedded LevelTwo; //这里是盖特和塞特 } 第二级:

public class LevelTwo { public String bar; //getter & setters here } 公共二级{ 公共字符串栏; //这里是盖特和塞特 }
所以这是我正在尝试的基本例子。有什么想法吗?

您在
EntityWithEmbedded
中使用了错误的
@Embedded
注释


使用
javax.persistence.Embedded
而不是
javax.jdo.annotations.Embedded

我已经尝试在LevelOne和LevelTwo类上使用@Entity和@Id。我故意公开这些字段,以避免使用“能手”和“二传手”。