gpt4 book ai didi

java - 为什么 Google 数据存储区允许重复的 ID/名称?管理这个问题的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-01 21:54:35 25 4
gpt4 key购买 nike

好的,现在看看这段代码

public void insertUser1(){
public static Key personKey=KeyFactory.createKey("Person", "PersonName");
Entity userEntity=new Entity("User", "User1", personKey);
userEntity.setProperty("FirstName","Tom");
datastore.put(userEntity);
}

运行insertUser1();后,您可以在数据存储中看到它

ID/Name - FirstNameUser1     - Tom

Now, I want to modify firstname of user1 but this time I use this code

public void modifyUser1(){
Entity userEntity=new Entity("User", "User1");
userEntity.setProperty("FirstName","Mary");
datastore.put(userEntity);
}

现在,再次检查数据存储,我可以看到 2 个条目:

ID/Name - FirstNameUser1     - TomUser1     - Mary

为什么 Google 数据存储区允许重复的 ID/名称?管理此问题的最佳实践是什么?

最佳答案

第一个有父级,第二个没有。

public static Key personKey=KeyFactory.createKey("Person", "PersonName");
Entity userEntity=new Entity("User", "User1", personKey);

有 id Key(Key(Person,PersonName), User, User1)

但是这个:

new Entity("User", "User1");

只是 key (用户,用户1)。所以是不同的id。

基本上,它是每个数据库唯一的实体Key,它由父ID(或空)和实体ID组成。

了解有关实体父级的更多信息:https://cloud.google.com/appengine/docs/java/datastore/#Java_Ancestor_paths

关于java - 为什么 Google 数据存储区允许重复的 ID/名称?管理这个问题的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34574015/

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