2011-04-19 8 views
1

id로 단일 요소를 찾으려고 할 때 문제가 있습니다. 이 경우 Google App Engine의 JDO에서 ID로 요소 받기

@PersistenceCapable(identityType = IdentityType.APPLICATION) 
public class Test{ 

    @PrimaryKey 
    private String name; 

//..and so on. 

는, 값이 "이름"는 아이디처럼 행동한다 : 엔티티 클래스는 이것이다. 나는 요소를 찾으려면이 쿼리를 사용하고 있습니다 :

  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가 : com.santiagopoli.gapptest.domain.Test 또한

주석으로 질의 org.datanucleus.store.appengine.query.StreamingQueryResult이 될 수 없다 캐스트 또한, 예외가 발생합니다 작동하지 않습니다.

누구든지 나를 도울 수 있기를 바랍니다. 부끄러운 일이 기본 이니까 달성하기가 어렵습니다. 다른 SQL 구현에서는 "select * from Test where id ="를 입력하는 것이 쉽습니다. 감사!

답변