我有类似的实体:
实体[产品(147)]
实体[制造商(23)/产品(131)]
实体[制造商(17)/产品(131)]
现在,我正在尝试使用查询来查询所有具有100及以上ID的“产品”实体。像上面的147& 131。
问题是我不知道如何要求这些,在查询中“分离”祖先。
试过这些:
无效:
SELECT __key__ FROM products WHERE ID >= 100
部分正常工作 :
SELECT __key__ FROM products WHERE __key__ >= 100
这是我插入查询过滤器的方式:
query.addFilter("__key__", FilterOperator.GREATER_THAN_OR_EQUAL, KeyFactory.createKey("products", 100));
这个部分工作的只为'根'实体提供了正确的结果,即没有祖先的实体。
任何修改它的方法都会忽略祖先?谢谢!
答案 0 :(得分:0)
没有内置方法可以做到这一点,因为这个查询毫无意义。分配ID使得它们对于给定种类和父是唯一的。如果实体可能具有不同的父实体,则不能单独依赖ID来唯一地标识实体,因此无论父级如何,查询一系列ID都是毫无意义的。