在Java中的App Engine数据存储区中按键过滤

时间:2012-09-06 13:54:31

标签: google-app-engine

你会认为这是一个容易回答的问题。

我如何在Java中过滤实体的密钥(不是恰好属于Key类型的属性,而是它的实际密钥 - 我们称之为关键数据库域中的“主键” )?

我不希望获得具有特定密钥的单个实体。我实际上确实想要做一个过滤器并返回实体的子集。

1 个答案:

答案 0 :(得分:8)

诀窍是使用Entity.KEY_RESERVED_PROPERTY代替属性名称:

Query q = new Query("MyEntity");
q.setFilter(new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, 
                Query.FilterOperator.GREATER_THAN,
                KeyFactory.createKey("MyEntity", "somevalue")));

这将找到密钥大于MyEntity的所有somevalue个实体。