【问题标题】:Getting an element by id in Google App Engine's JDO在 Google App Engine 的 JDO 中通过 id 获取元素
【发布时间】:2011-08-08 23:19:58
【问题描述】:

我在尝试查找单个元素时遇到问题 按身份证。实体类是这样的:

@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="。谢谢!

【问题讨论】:

    标签: google-app-engine jdo gql


    【解决方案1】:

    我刚刚修好了。

    试试这个...

    Test t = pm.getObjectById(Test.class, id);
    

    参考... http://code.google.com/intl/us/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata.html

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 2011-07-15
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2011-12-28
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多