java.util.Calendar クラスを使用する GAE アプリがあります。私のアプリは、1 日が経過すると一部の内部データを変更します/現在、アプリをテストしたいので、手動で設定および変更する偽の日付データ メンバーがあります。データストアに保存したい。約 2 時間保存しようとした後、FakeDate という名前のクラスでラップすることにしました。次のようになります。
@PersistenceCapable
public class FakeDate {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Serialized
private Calendar _fakeCurrentDate;
唯一の問題は、_fakeCurrentDate のデータが保存されないことです。最初に、カレンダーの日付を 2012 年 8 月 8 日に設定しました。
pm.makePersistent(_currentDate);
すべて問題ないように見えますが、電話すると
PersistenceManager pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(FakeDate.class);
try {
@SuppressWarnings("unchecked")
List<FakeDate> list = (List<FakeDate>) q.execute();
for (FakeDate f:list){
System.out.println(f.getDayOfMonth());
System.out.println(f.getMonth());
System.out.println(f.getYear());
}
} finally {
q.closeAll();
pm.close();
}
私が取得した FakeDate インスタンスは、2012 年 9 月 27 日の Calendar インスタンスを保持しています。これは、Calendar.getInstance() を呼び出すときに取得するデフォルトの日付です。
かなり簡単なものが欠けているようです。私ですか?