Java で Goole アプリ エンジン データストアを使用しており、列挙型のリストを含むオブジェクトを読み込もうとしています。オブジェクトをロードするたびに、リストは null です。オブジェクトは
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class ObjectToSave {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private List<AnEnum> anEnumList;
//public getters and setters
}
列挙型は単純です
public enum AnEnum {
VALUE_1,
VALUE_2;
}
保存するコードは
ObjectToSave objectToSave = new ObjectToSave();
List<AnEnum> anEnumList = new ArrayList<AnEnum>();
anEnumList.add(AnEnum.VALUE_1);
objectToSave.setAnEnumList(anEnumList);
PersistenceManager pm = pmfInstance.getPersistenceManager();
try {
pm.makePersistent(objectToSave);
} finally {
pm.close();
}
それをロードするコードは
PersistenceManager pm = pmfInstance.getPersistenceManager();
try {
Key key = KeyFactory.createKey(ObjectToSave.class.getSimpleName(), id);
ObjectToSave objectToSave = pm.getObjectById(ObjectToSave.class, key);
} finally {
pm.close();
}
http://localhost:8080/_ah/adminを使用してデータストア内のデータを表示でき、リストが保存されていることを確認できますが、オブジェクトが読み込まれるとそこにはありません。
Eclipse プラグインを使用してプロジェクトを作成しましたが、私が知る限り、データストアの設定を変更していません。では、なぜ Enum リストが null なのですか?