我应该将 Type 存储在数据库中还是应该将其存储在枚举中?
Should I store Type in database or should I store it in enum?
比如我有一个table名字Fruit
,每个水果属于一个FruitType
。所以我应该将 FruitType
存储在数据库中,然后在 Fruit
中创建一个外键,还是只将引用 ID 存储到 Enum
name FruitType
更新:
该数据库仅用于一个应用程序。我需要显示 fruit
的 table 包括它们的 fruit type
到 user.I 也使用类型作为 fruit table 视图中的过滤器。
我目前的解决方案:
对于 Type
,我将永远有一个 Enum
。但
如果 Type
的信息不仅仅是 id
和 name
,即 description
... =19=]信息。否则只是 Enum
.
如果您的类型是静态的并且您不想在应用工作期间添加它们,那么最好使用枚举。如果确实有很多类型,或者类型可能 added/changed 动态,最好将它们存储在单独的数据库中 table 并设置关系。
您必须使用数据库来保存FruitType
。我将解释两种实现 'FruitType' 枚举的方法。我假设您使用的是 javax.persistance
.
enum FruitType {
YELLOW,GREEN,RED;
}
class Fruit{
private String name;
@Enumerated(EnumType.ORDINAL) or @Enumerated(EnumType.STRING)
private FruitType fruitType;
}
如果您使用 EnumType.STRING,则保存枚举的字符串名称,如 (YELLOW, RED)。对于 EnumType.ORDINAL 保存顺序,如 1,2 等
如果您打算处理(添加、更新和删除)大量 FruitType,则使用另一个 table 来保存数据。
比如我有一个table名字Fruit
,每个水果属于一个FruitType
。所以我应该将 FruitType
存储在数据库中,然后在 Fruit
中创建一个外键,还是只将引用 ID 存储到 Enum
name FruitType
更新:
该数据库仅用于一个应用程序。我需要显示 fruit
的 table 包括它们的 fruit type
到 user.I 也使用类型作为 fruit table 视图中的过滤器。
我目前的解决方案:
对于 Type
,我将永远有一个 Enum
。但
如果 Type
的信息不仅仅是 id
和 name
,即 description
... =19=]信息。否则只是 Enum
.
如果您的类型是静态的并且您不想在应用工作期间添加它们,那么最好使用枚举。如果确实有很多类型,或者类型可能 added/changed 动态,最好将它们存储在单独的数据库中 table 并设置关系。
您必须使用数据库来保存FruitType
。我将解释两种实现 'FruitType' 枚举的方法。我假设您使用的是 javax.persistance
.
enum FruitType {
YELLOW,GREEN,RED;
}
class Fruit{
private String name;
@Enumerated(EnumType.ORDINAL) or @Enumerated(EnumType.STRING)
private FruitType fruitType;
}
如果您使用 EnumType.STRING,则保存枚举的字符串名称,如 (YELLOW, RED)。对于 EnumType.ORDINAL 保存顺序,如 1,2 等
如果您打算处理(添加、更新和删除)大量 FruitType,则使用另一个 table 来保存数据。