gpt4 book ai didi

java - Google 数据存储中的重复条目

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:10 26 4
gpt4 key购买 nike

我正在使用带有数据存储界面的 Google App Engine。

每当我尝试更新一个实体时,都会创建一个全新的实体,尽管我确信我正在保存相同的实体,这意味着它肯定具有相同的 key 。

这是我的代码:

Key key=KeyFactory.createKey("user",Long.parseLong(ID));
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity entity=new Entity("user",key);
entity.setProperty // ...whatever, updating the properties
datastore.put(entity); //by putting an entity it's supposed to
// either create a new one if non exists, or update an entity if it already exists

我确信在所有更新期间 key 都是相同的,正如我的管理控制台中所确认的:

id=3001   600643316
id=3002 600643316
id=3003 600643316

创建了一堆具有相同 key (600643316) 的实体。

最佳答案

数据存储区仅允许应用程序使用字符串键名称(而不是数字 ID)创建新实体。数字 ID 是系统分配的 ID。如果该键具有数字 ID 但没有字符串键名称,则数据存储区将忽略它并将其替换为系统分配的数字 ID。

在您的示例中,如果 ID 是字符串,那么您只需删除 Long.parseLong() 位,或将其转换回字符串。 KeyFactory.createKey(String kind, String name) 创建一个带有键名称的 Key

关于java - Google 数据存储中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142147/

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