2011-04-19 102 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 =」。謝謝!

回答