Hi, Aren't missing a @PrimaryKey annotation on any of your field ? You did not show it. The primary key is required for JDO to be able to store your data.
I remember a long time ago (before using Objectify) having such a cryptic exception.... regards didier On Feb 23, 8:33 am, culov <[email protected]> wrote: > same problem, havent found an answer. > > On Jan 28, 1:46 am, Christophe Weber <[email protected]> > wrote: > > > Hi, > > > I have a problem when trying to query on the appengine. here's what I do: > > > Query q = persistenceManager.newQuery(User.class); > > q.declareParameters("java.lang.String emailParam"); > > q.setFilter("userEmail == emailParam"); > > List<User> list = (List<User>) q.execute(email); > > if (list.size()<=0) ( OR if (list.isEmpty())) > > > And I get this exception: > > > java.lang.ClassCastException: java.lang.Long cannot be cast to > > java.lang.String > > at > > org.datanucleus.store.appengine.DatastoreFieldManager.fetchStringField(Data > > storeFieldManager.java:207) > > at > > org.datanucleus.state.AbstractStateManager.replacingStringField(AbstractSta > > teManager.java:1180) > > at com.logos.stm.shared.model.User.jdoReplaceField(User.java) > > at com.logos.stm.shared.model.User.jdoReplaceFields(User.java) > > at > > org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl > > .java:2772) > > at > > org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl > > .java:2791) > > at > > org.datanucleus.store.appengine.DatastorePersistenceHandler.fetchObject(Dat > > astorePersistenceHandler.java:480) > > at > > org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(Datastore > > Query.java:570) > > at > > org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(Datastore > > Query.java:525) > > at > > org.datanucleus.store.appengine.query.DatastoreQuery.access$300(DatastoreQu > > ery.java:111) > > at > > org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery > > .java:643) > > at > > org.datanucleus.store.appengine.query.DatastoreQuery$6.apply(DatastoreQuery > > .java:635) > > at > > org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.jav > > a:94) > > at > > org.datanucleus.store.appengine.query.LazyResult.resolveAll(LazyResult.java > > :116) > > at > > org.datanucleus.store.appengine.query.LazyResult.size(LazyResult.java:110) > > at > > org.datanucleus.store.appengine.query.StreamingQueryResult.size(StreamingQu > > eryResult.java:130) > > > The error occurs on the if (list.size()<=0) OR if (list.isEmpty()) in > > both cases. My User class is declared as followed: > > > @PersistenceCapable(identityType=IdentityType.APPLICATION) > > > public class User implements Serializable { > > > ... > > > @Persistent > > > String userEmail; > > > +getter and setter > > > Can someone explain I have this error? > > > Thanks a lot! > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
