我是Datastore的新手,现在我正在使用Datastore和Objectify开发Gae应用程序。实体类具有以下形式
@Entity
public class MyClass1 {
public Key<MyClass2> field1;
@Id Long id;
and so on
}
MyClass2具有以下形式
@Entity
public class MyClass2 {
....
@Id public Long id;
@Index public String field2;
....
}
我有MyClass1的实体。如何获得field2的值?如果我使用DatastoreService1.get(myclass1.field1),我会得到
method get(Key) in the DatstoreService is not applicable for arguments (Key<MyClass2>)
请帮我
您的错误与问题无关,所以我假设您想获取而field1
不是的值field2
。
错误的原因是该DatastoreService
get()
方法需要一个com.google.appengine.api.datastore.Key
,但是您要向其传递com.googlecode.objectifyKey<T>
一个ObjectObject键,这是不一样的。这是文档。
我建议您使用a Ref<MyClass2>
,然后就可以执行以下操作:
MyClass2 myClass2 = myClass1.field1.get();
(使用您的代码示例)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句