javagoogle-app-enginejdojdoql

JDO UnsupportedDatastoreFeatureException on Google App Engine


I am trying to use the get method for Map as described in http://db.apache.org/jdo/jdoql_methods.html on Google App Engine. My definition is as follows:

public class FooInfo { ... @Persistent private Map vote = new HashMap(); ... }

And I tried to access it like this:

Query query = persistenceManager.newQuery("SELECT FROM com.foo.app.db.FooInfo where vote.get(\"TOTAL\") >=1")

However, Google App Engine returns this exception: Message: javax.jdo.JDOUserException: Problem with query =1>: Unsupported method while parsing expression: InvokeExpression{[PrimaryExpression{vote}].get(Literal{TOTAL})}

Does this mean GAE doesn't support the get method or I am not using it correctly? Thanks.


Solution

  • Google App Engine doesn't support Map in JDO. http://code.google.com/appengine/docs/java/datastore/jdo/dataclasses.html#Collections.