У меня проблема при попытке найти один элемент по идентификатору.Класс сущности таков:
@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: org.datanucleus.store.appengine.query.StreamingQueryResult не может быть приведен к com.santiagopoli.gapptest.domain.Test
* 1012Комментированный запрос также не работает.
Я надеюсь, что кто-нибудь может мне помочь.Обидно, что чего-то такого базового сложно достичь.В других реализациях sql это будет легко, если набрать «select * from Test, где id =».Спасибо!