使用GQL处理名称中包含点(。)的列

时间:2011-07-15 11:08:20

标签: google-app-engine gql gqlquery objectify

我在我的GAE / Java应用程序中使用Objectify进行数据存储操作。我在项目的几个地方使用过Objectify的@Embeded工具。 Objectify自动展平使用@Embeded表示法标记的实体内的嵌套对象。分隔器。因此,我最终得到了像entity.embededObject.Field

这样的列名

例如,我的数据存储中有一个实体“人物”,其中有两列nameaddress.email

我想通过编写简单的GQL查询来过滤数据存储区查看器中的Person。 但是以下查询失败并出现语法错误:

SELECT * FROM Person where address.email='mail@gmail.com'

而以下工作原理

SELECT * FROM Person where name='Joe'

我做错了什么?

2 个答案:

答案 0 :(得分:1)

GQL目前不支持此功能 - 仅支持“word”字符。你绝对应该将其作为issue tracker中的错误提交。

答案 1 :(得分:0)

今天进行了测试,可以使用反引号运行以下内容

SELECT * FROM `your.kind`

我相信这适用于任何参数,但如果我错了,请纠正我。