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(DatastoreFieldManager.java:207)
        at 
org.datanucleus.state.AbstractStateManager.replacingStringField(AbstractStateManager.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(DatastorePersistenceHandler.java:480)
        at 
org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java:570)
        at 
org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java:525)
        at 
org.datanucleus.store.appengine.query.DatastoreQuery.access$300(DatastoreQuery.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.java: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(StreamingQueryResult.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