对于我的实体,我应该使用哪一个来存储状态,类型等值??
我使用枚举定义了我的状态,类型等...许多预定义的系统数据到我的系统。在短期内,我计划将系统迁移到大数据数据库。那么,在存储这些数据的同时我该怎么办?
重要的未来发展和系统可能需要更新枚举,所以我不能使用序数。
我的预定义枚举已存在,我可以为每个枚举分配一个ID。因此,需要将实体需要定义为int。 (作为枚举管理,存储为int id。)
答案 0 :(得分:0)
试试这个?
public enum Status {
NORMAL(0), BANNED(1); // modify it
int code;
Status(int code) {
this.code = code;
}
public static Status fromCode(int code) {
switch (code) {
case 0:
return NORMAL;
case 1:
return BANNED;
default:
throw new IllegalArgumentException();
}
}
public int getCode() {
return code;
}
}
然后,假设您将Status存储在名为“status”的对象变量中:
public Status getStatus() {
return Status.fromCode(status);
}
public void setStatus(Status status) {
this.status = status.getCode();
}
并将数据库中的状态存储为int。