我正在使用 Objectify 为我的 GWT 应用程序管理 GAE 数据存储。问题是我没有正确使用查询,我得到了 UmbrellaExceptions,如下所示:
Caused by: java.lang.RuntimeException: Server Error: java.lang.String cannot be cast to java.lang.Number
at com.google.web.bindery.requestfactory.shared.Receiver.onFailure(Receiver.java:44)
假设我有一个Box
具有唯一字段的类String id
。我想得到 Box 对象id == "cHVQP6zZiUjM"
这就是我现在的做法:
public Box getBox(String boxId)
{
Objectify ofy = ObjectifyService.begin();
Query<Box> q=ofy.query(Box.class).filter("id",boxId);
Box targetBox = q.get();
return targetBox;
}
@Entity
public class Box extends DatastoreObject{
private String id;
private String title;
}
我尝试使用 ofy.load() 执行此操作,但该方法未在我的类 Objectify 中定义(我不知道为什么)。