The User class is defined as below
@PersistenceCapable(detachable="true")
public class User {
@PrimaryKey
@Persistent
private String email;
@Persistent
private String firstname;
@Persistent
private String lastname;
In PROD, I added a user with email="[email protected]", firstname=something, lastname=something via JDO. Then in Datastore Viewer, the ID/Name field has a value of "[email protected]". Why was "Name=" added? My program cannot find user with key = "[email protected]". It can in my DEV PC though where there is never "Name=".
[Added source code of retrieving a User instance] It works well in my DEV PC.
public static User getUser(String email){
PersistenceManager pm = PMF.get().getPersistenceManager();
User user, detached = null;
try {
user = pm.getObjectById(User.class,
email);
// If you're using transactions, you can call
// pm.setDetachAllOnCommit(true) before committing to automatically
// detach all objects without calls to detachCopy or detachCopyAll.
detached = pm.detachCopy(user);
}
catch(Exception e){
e.printStackTrace();
}
finally {
pm.close();
}
return detached;
}

![enter image description here][2]