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.

Reply via email to