【问题标题】:Selecting Entity based on auto generated ID in google datastore根据谷歌数据存储中自动生成的 ID 选择实体
【发布时间】:2014-03-08 10:45:16
【问题描述】:

我创建了一个具有少量属性但未指定任何键的实体,在这种情况下,已在数据存储中创建了一个自动生成的 ID。

     Entity en=new Entity("Job");

现在,当我获取此类实体并尝试将其存储在 Java 对象中时,如何获取自动生成的 ID(我需要稍后执行 UPDATE 操作)? 我尝试了以下方法,但它没有返回 Identifier 值。

     en.getProperty("__key__");
     en.getProperty("ID/Name");
     en.getProperty("Key");

【问题讨论】:

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


    【解决方案1】:

    您可能正在寻找:

    en.getProperty(Entity.KEY_RESERVED_PROPERTY)
    

    Key Filters 中提到(不是很明显的地方)。

    另一种方法是尝试:

    en.getKey().getId()
    

    Entity JavaDocKey JavaDoc 中提到。

    【讨论】:

    • 感谢您的回复,但它仍然返回 null,因为数据查看器显示 ID/名称值 2、3、4、5 等
    • en.getKey().getId() 是正确的方法。如果您在保存实体后调用它,您将永远不会得到空值。
    • 名称不是自动生成的。我建议您将其从答案中删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多