そこで、MyEnum の値を含む JDO エンティティを保存しました。
public enum MyEnum {
MyValue1,
MyValue2,
MyValue3;
}
ただし、少なくとも 1 つの列挙値を削除する必要があります。格納された値が無効になるため、JDO クエリがクラッシュしますか?
助けてくれてありがとう。
そこで、MyEnum の値を含む JDO エンティティを保存しました。
public enum MyEnum {
MyValue1,
MyValue2,
MyValue3;
}
ただし、少なくとも 1 つの列挙値を削除する必要があります。格納された値が無効になるため、JDO クエリがクラッシュしますか?
助けてくれてありがとう。
JDO はおそらくEnum.valueOf(class, string)
enum をインスタンス化するために使用します。したがって、サポートされていない値の場合、生成されますIllegalArgumentException
。
実行時に列挙型を追加または削除することはできません。これは、GAE ではなく Java の問題です。
ピーターが言ったように、列挙型から値を削除するとエラーがスローされます。ただし、古い値を保持し、現在の値の配列を返すメソッド getValues() を作成して、これらを使用するだけです。ユーザーが新しいバージョンを使用すると、古い値が自動的に更新され、最終的には安全に削除できます。