次のような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として返されます。
私はここではかなり無知です。何か案が?