从数据库填充枚举

问题描述 投票:0回答:1

假设我有一个名为产品[实体类]的类,它有一个嵌套枚举,看起来像

Class product () {
private String id;
// other attributes

public enum Type {

        G1(false, false, false, false),
        G2(false, false, ture, false),
        G3(false, false, false, true),
}
private Type type = Type.G3;

//constructors, setters, getters and other methods.
}

我有一个新的要求,因为类型可能会发生变化或将添加新类型。我们将创建一个名为 ProductType 的新表。所以我需要在服务器启动时从该表填充枚举类型。

注意:我无法将枚举更改为对象,因为它是遗留代码,并且该枚举在应用程序的许多地方使用。 我正在使用java。

有什么想法吗?

我尝试使用对象代替枚举,但发生了很多问题。

java oop design-patterns enums
1个回答
0
投票

您的代码有语法错误(如果是 Java)。

您不能使用枚举来做到这一点,因为它是类型实例的静态“集” -

Type

我猜你的

Type
有由应用程序的不同部分使用的方法。我将从将单词
enum
替换为
class
(使用构造函数参数
productTypeId
- 数据库中的 ID)开始重构,从
class
中删除 G1、G2、G3,重新定义从数据库返回属性的旧方法等.

© www.soinside.com 2019 - 2024. All rights reserved.