Question

Here is the code snippet I am trying to get to work:

final Query query = pm.newQuery("SELECT FROM model.Strip WHERE publishOn <= startDate
&& endDate >= publishOn PARAMETERS Date startDate, Date endDate import java.util.Date");

Since I am only querying on a single parameter, this should work according to the Google Docs.

Inequality Filters Are Allowed on One Property Only A query may only use inequality filters (<, <=, >=, >, !=) on one property across all of its filters. For example, this query is allowed:

import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.FilterOperator;
import com.google.appengine.api.datastore.Query.SortDirection;

Query q = new Query("Person");
q.addFilter("birthYear", FilterOperator.GREATER_THAN_OR_EQUAL, minBirthYearParam);
q.addFilter("birthYear", FilterOperator.LESS_THAN_OR_EQUAL, maxBirthYearParam);

of course that is using the low-level Datastore interface, but I would expect that the JDO implementation just uses that as well.

But I am getting this un-helpful error message when I run my query.

org.datanucleus.store.appengine.query.DatastoreQuery$UnsupportedDatastoreFeatureException: Problem with query = publishOn PARAMETERS Date startDate, Date endDate import java.util.Date>: Unexpected expression type while parsing query: org.datanucleus.query.expression.ParameterExpression

Does anyone know how to do a ranged query like this

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top