我有一个名为 AdUser 的对象,如下所示:
@PersistenceCapable
public class AdUser{
@Persistent
protected final int _id;
@Persistent
protected String _firstName, _lastName;
@Persistent
protected double _bankRoll;
@Persistent(serialized = "true", embeddedElement = "true", defaultFetchGroup = "true")
protected final User _googleUser;
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
然后,在我的代码中创建一个新的 AdUser 对象并用数据填充它。_googleUser 数据成员的 User 类取自 com.google.appengine.api.users.User
然后在我的代码中,我运行以下命令:
try {
pm.makePersistent(user);
} finally {
pm.close();
}
之后:
PersistenceManager pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(AdUser.class);
try {
@SuppressWarnings("unchecked")
List<AdUser> list = (List<AdUser>) q.execute();
userArray = new ArrayList<AdUser>(list);
} finally {
q.closeAll();
pm.close();
}
当我遍历列表时,我看到例如 _firstName 和 _lastName 数据成员被正确检索,但例如 _id 字段和 _googleUser 字段不是,并且分别返回为 0 和 null。
我在这里很无知。任何想法?