所以我保存了一个包含 MyEnum 值的 JDO 实体。
public enum MyEnum {
MyValue1,
MyValue2,
MyValue3;
}
但是现在我需要删除至少一个枚举值。由于已存储的值不再有效,这是否会导致 JDO 查询崩溃?
谢谢您的帮助。
所以我保存了一个包含 MyEnum 值的 JDO 实体。
public enum MyEnum {
MyValue1,
MyValue2,
MyValue3;
}
但是现在我需要删除至少一个枚举值。由于已存储的值不再有效,这是否会导致 JDO 查询崩溃?
谢谢您的帮助。
JDO 最有可能用于Enum.valueOf(class, string)
实例化枚举。因此,如果出现不受支持的值,它将产生IllegalArgumentException
.
您不能在运行时添加或删除枚举,这是 Java 的事情,而不是 GAE。
就像彼得说的那样,从枚举中删除值会引发错误。然而,我只是保留了旧值并创建了一个方法 getValues(),它返回一个当前值的数组并只使用这些值。当用户使用新版本时,旧值将自动更新并最终可以安全地删除。