I am on Google App Engine, using Objectify. Consider the following simplified setup:

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

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

```

Now what I assumed is that if I have two usergroups (let's call them A and B), I could have up to three User entities with a username of "admin": One with usergroup A as parent, one with usergroup B as parent, and one with no usergroup as parent.

However, that is not the case. If I create admin in group A, then admin with no group, then admin in group B, there is only one: The one in B, which overwrote the two others.

This, to me, seems inconsistent. I would not be able to find the one in B without specifying B as the parent entity, and just giving "admin" as name, because that would mean looking him up in the root. But if I create one with that name anywhere, it overwrites a user with the same name, regardless of his location in the object hierarchy.

My question is: Why is that?