2
votes

I use Objectify for datastore operations in my GAE/Java application. I have used Objectify's @Embeded facility in a couple of places in my project. Objectify automatically flattens the nested objects within the entity marked by @Embeded notation using the . separator. Thus I have ended up with column names like entity.embededObject.Field

For example I have an entity 'Person' in my data store with two columns name and address.email.

I want to filter through Person in the datastore viewer by writing a simple GQL query. But the following query fails with a syntax error:

SELECT * FROM Person where address.email='[email protected]'

whereas the following works as it should

SELECT * FROM Person where name='Joe'

What am I doing wrong?

2
[UPDATE] The issue is addressed in the 1.5.3 pre-release of GAE-java code.google.com/p/googleappengine/issues/detail?id=2584 - Ashwin Prabhu

2 Answers

1
votes

GQL currently doesn't support this - only 'word' characters are supported. You should definitely file this as a bug in the issue tracker.

0
votes

Tested today, it is possible to run the following with backquotes

SELECT * FROM `your.kind`

I believe this holds true for any parameter, but please correct me if I am wrong.