2011-04-19 50 views
1

按id查找单个元素 时遇到问题。实体类是这样的:在Google App Engine的JDO中通过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 =”。谢谢!

回答