我正在尝试基于实体的App Engine
属性在@id
中进行查询,并且我一直收到此错误
java.lang.IllegalArgumentException:__ key __ filter value必须是Key
这就是我查询的方式
Filter f1 = new FilterPredicate("personId", FilterOperator.EQUAL,personId);
Filter f2 = new FilterPredicate(Entity.KEY_RESERVED_PROPERTY, FilterOperator.GREATER_THAN,newestCommentId);
Filter filter = CompositeFilterOperator.and(f1,f2);
Query<Record> query = ofy().load().type(Record.class).filter(filter)
.limit(limit).order("-"+ Entity.KEY_RESERVED_PROPERTY);
我想让所有>
获取发送到应用引擎方法的最后一条评论ID
实体中的id字段是
@Id
Long id;
我首先尝试使用id
然后我收到一个错误,说你不能使用有@id的文件,也许我的意思是__ key __
那么如何执行此查询呢?
答案 0 :(得分:1)
您的过滤器中需要use a Key,而不是ID。您可以从此ID创建一个密钥,然后传递给您的过滤器。
请注意,除非您自己增加ID,否则无法保证在添加更多实体时增加ID。