0
にラベルを付けていない私のenum
はDATASET_DELETIONは、私はJavaコードでフィールドの値を参照したいものです。このマッピング列挙型、
public enum EventType {
DATASET_DELETION("DSDEL");
private static final Map<String, EventType> dbIdLookup = new HashMap<>();
static {
for (EventType type : EnumSet.allOf(EventType.class)) {
String databaseID = type.getId();
dbIdLookup.put(databaseID, type);
}
}
private String id;
EventType(String _id) {
this.id = _id;
}
public String getId() {
return this.id;
}
public EventType getFromDatabaseID(String _databaseID) {
EventType result = dbIdLookup.get(_databaseID);
return result;
}
}
のようなものを見て、 DSDELは、データベースにマップしたい値です。私はデータベースコードをよりコンパクトにし、Javaラベルをより読みやすくしたい。
私の現在のマッピングは動作しません:
私は主列挙型のラベルが、そのの一つではないデータベースの値に列挙型をマッピングするにはどうすればよいjava.lang.RuntimeException: java.lang.IllegalArgumentException: Unknown name value for enum class blah.blah.EventType: DSDEL
を投げる
@Column(name = "EVENT_TYPE")
private EventType type;
宣言のフィールド?