views:

22

answers:

1

Hi. In my application, I would like to fetch a set of entities from the Datastore, that have a Date field set to a date before the present moment.

I do realize, that one of the ways of doing that is by simply storing the date in those entities as just a long value in milliseconds.

But ist there actually a way of storing them as Dates and being able to use them for filtering?

I tried something like query.setFilter("dateField.before(dateParam)"); , but it didnt work, neither did the simple comparison.

Thanks in advance.

+4  A: 

Simply declare the dateField as java.util.Date, then use

query.setFilter("dateField < dateParam");
query.declareParameters("Date dateParam");
List<...> results = (List<...>) query.execute(new java.util.Date());

See examples here: http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html

Constantin