gpt4 book ai didi

java - 为什么无论层次结构如何,GAE 实体名称都必须是唯一的?

转载 作者:行者123 更新时间:2023-12-01 04:47:45 25 4
gpt4 key购买 nike

我使用的是 Google App Engine,使用的是 Objectify。考虑以下简化设置:

@Entity
public class UserGroup
{
@Id
private String identifier;
}

@Entity
public class User
{
@Id
private String username;
private String password;
@Parent
Ref<UserGroup> usergroup;
}

现在我假设,如果我有两个用户组(我们称它们为 A 和 B),我最多可以拥有三个用户名为“admin”的用户实体:一个以用户组 A 作为父级,一个以用户组 B 为父级作为父级,以及没有用户组作为父级的一个。

然而,事实并非如此。如果我在 A 组中创建 admin,然后在没有组的情况下创建 admin,然后在 B 组中创建 admin,则只有一个:B 中的一个,它覆盖了另外两个。

对我来说,这似乎不一致。如果不指定 B 作为父实体,并且只给出“admin”作为名称,我将无法在 B 中找到该人,因为这意味着在根目录中查找他。但是,如果我在任何地方创建一个具有该名称的用户,它就会覆盖具有相同名称的用户,无论他在对象层次结构中的位置如何。

我的问题是:为什么会这样?

最佳答案

您在测试中犯了某种错误。 {UserGroupA, "admin"} 和 {UserGroupB, "admin"} 确实是具有单独 key 的单独实体。

关于java - 为什么无论层次结构如何,GAE 实体名称都必须是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15551321/

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