gpt4 book ai didi

java - 使用 String 或 Long 作为 Google App Engine 数据存储 key

转载 作者:行者123 更新时间:2023-11-30 09:08:51 25 4
gpt4 key购买 nike

Key 中的GAE 数据存储Long id 和String key 有什么区别? .

使用 key

KeyFactory.createKey(kind, key);

KeyFactory.createKey(kind, id);

所以在这种情况下,两者都可以用作标识符。如果我从 KeyFactory.createKey(kind, key) 创建一个键,其中键是一个字符串,我可以看到键的 id 字段是 0。在这种情况下 getId() 将是 0?相反,如果设置的是 KeyFactory.createKey(kind, someLongValue) 那么 getName() 将是一个空的 String?

最佳答案

应用引擎 key 可以具有唯一的长 ID 或唯一的字符串名称 - 它们是互斥的。如果您设置长 ID,则该名称将为空。您决定将哪种实体用于任何实体类型实际上取决于您的用例。

使用长 ID 的一个好处是您可以让应用引擎为您自动生成它们。也就是说,您可以创建没有任何 ID 值的实体,然后当您保存它时,数据存储将为其提供一个有效的唯一长 ID。

如果您使用字符串名称,则必须在保存实体之前创建唯一名称。这在某些情况下很有用,如果您在实体上有一些属性可以自然地适合唯一名称(例如,零件的 SKU)。此外,有些人会为字符串名称生成一个随机 UUID - 这可确保所有名称在全局范围内都是唯一的,而不仅仅是在特定实体种类和祖先路径中唯一。

关于java - 使用 String 或 Long 作为 Google App Engine 数据存储 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23324685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com