尝试查找单个元素时遇到问题 通过id。实体类是这样的:
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Test{
@PrimaryKey
private String name;
//..and so on.
在这种情况下,值“name”就像一个id。我正在使用它 查询以查找元素:
PersistenceManager pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(Test.class);
q.setFilter("name == " + id);
//String query = "SELECT FROM " + Test.class.getName() + "WHERE name == " + id;
Test test = (Test) q.execute();
return category;
假设id是通过其他方法作为参数发送的字符串值。
但它不会检索任何数据。此外,它抛出一个例外: 的 java.lang.ClassCastException: org.datanucleus.store.appengine.query.StreamingQueryResult不能 强制转换为com.santiagopoli.gapptest.domain.Test
评论的查询也不起作用。
我希望有人能帮助我。遗憾的是基本的东西 很难实现。在其他sql实现中,它将很容易 输入“select * from Test where id =”。谢谢!
答案 0 :(得分:2)
我刚修好了。
试试这个......
Test t = pm.getObjectById(Test.class, id);
...参考 http://code.google.com/intl/us/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata.html