【问题标题】:Objectify - getting children of a given parent using get?Objectify - 使用get获取给定父母的孩子?
【发布时间】:2012-09-18 16:02:23
【问题描述】:

我正在尝试获取给定父键的所有子级。我可以使用如下查询/祖先方法来实现这一点:

List<Tire> list= ofy.query(Tire.class).ancestor(new    Key<Car(Car.class,carID))).list();

这样做的问题是查询方法没有通过缓存。如何使用 get 获取相同的列表?

谢谢

【问题讨论】:

    标签: java google-app-engine google-cloud-datastore objectify


    【解决方案1】:

    您可以进行仅键查询,然后对键执行 get()。这仍然会影响数据存储,但它可以将您的成本降低到每次读取 1 个读取操作 + 1 个小型操作(而不是每次读取 1 个读取操作 + 1 个读取操作)。

    如果您使用 Objectify4,它会自动为您执行此操作(请参阅 Query.hybrid() 方法)。

    【讨论】:

    • 正式来说,没有。但是没有理由不使用 4.0a4 版本 - 除非您使用一些更高级的功能,否则它相当稳定。
    • @stickfigure:关于 Objectify4 以及为什么我们喜欢使用它但我们不是:没有 maven repo,文档未完成,似乎(?)向后不兼容。关于从 3.1 迁移的任何建议?
    • 文档快完成了。最大的缺失是“如何从 3.1 升级”文档。它很快就会出现在 Maven Central 中。但是,是的,我承认这需要很长时间。
    • 跟进问题.. 按祖先键过滤的仅键查询的效率如何?类似的东西:
    • ofy.query(Car.class).ancestor(someKey).fetchKeys();
    猜你喜欢
    • 2013-06-04
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 2016-09-21
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多