Objectify を使用して Google App Engine を使用しています。次の単純化されたセットアップを検討してください。
@Entity
public class UserGroup
{
@Id
private String identifier;
}
@Entity
public class User
{
@Id
private String username;
private String password;
@Parent
Ref<UserGroup> usergroup;
}
ここで、2 つのユーザー グループ (A と B と呼びましょう) がある場合、ユーザー名が "admin" のユーザー エンティティを最大 3 つ持つことができると仮定しました。親としてユーザーグループを持たないもの。
しかし、そうではありません。グループ A に管理者を作成し、次にグループなしの管理者を作成し、次にグループ B に管理者を作成すると、B に 1 つだけ存在し、他の 2 つが上書きされます。
これは、私には一貫性がないように思えます。B を親エンティティとして指定せずに B にあるものを見つけることはできず、名前として「admin」を指定するだけです。これは、ルートで彼を検索することを意味するためです。しかし、その名前のユーザーをどこかに作成すると、オブジェクト階層内の場所に関係なく、同じ名前のユーザーが上書きされます。
私の質問は:それはなぜですか?