【问题标题】:Use Objectify to get projection of entity by Id使用 Objectify 通过 Id 获取实体的投影
【发布时间】:2015-11-28 02:28:42
【问题描述】:

我有一个实体的 ID,我只需要一个字段。有没有办法获得该投影或者我必须获取整个实体?这是我认为应该这样做的代码。

bookKey =OfyService.ofy().load().type(Page.class).id(pageId).project("bookKey").now();

【问题讨论】:

  • 投影通过返回存储在索引中的值来工作(即,投影的每个元素都必须存在索引)。如果您不使用查询而是按键获取,那么您将始终获得完整的实体。

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


【解决方案1】:

数据存储是一个键值存储,它加载整个对象,而不是逐个字段。这与使用关系数据库的方式完全不同。

有一个例外,它允许您直接从索引中加载数据(投影查询),但它是一种性能优化,用途非常有限和特定。一般来说,如果您不了解投影如何工作的相当奇特的细节,则不应使用它们 - 这是一种过早的优化。

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2015-12-25
    • 2017-04-18
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多