【发布时间】:2011-01-21 22:33:19
【问题描述】:
我正在使用 GAE(Java) 和 JDO 来实现持久性。
我有一个带有 Enum 字段的实体,该字段标记为 @Persistent 并正确保存到数据存储中(从开发控制台中的数据存储查看器观察到)。但是,当我查询这些实体放置基于枚举值的过滤器时,它总是返回所有实体,无论我为枚举字段指定什么值。
我知道 GAE java 支持像基本数据类型一样持久化枚举。但它是否也允许基于它们进行检索/查询? Google 搜索无法将我指向任何此类示例代码。
详情:
我在执行之前打印了查询。所以在两种情况下,查询看起来像 -
SELECT FROM com.xxx.yyy.User WHERE role == super ORDER BY key desc RANGE 0,50
SELECT FROM com.xxx.yyy.User WHERE role == admin ORDER BY key desc RANGE 0,50
尽管数据存储查看器显示某些用户属于“管理员”类型,而某些用户属于“超级”类型,但上述两个查询都会返回数据存储中的所有用户实体。
【问题讨论】:
标签: java google-app-engine enums google-cloud-datastore