Я хочу сохранить Enum в моей базе данных, но только значение, а не имя. Например, я сохраняю объект с CODE_3
, поэтому в моей базе данных должно быть ActCode : "3"
, а не ActCode : "CODE_3"
. Но когда я нахожу объект, он должен быть возвращен как ActCode.CODE_3
, а не как String "3"
.Spring - база данных Neo4j: сохранить строку Enum в базу данных и вернуть ее как Enum
У меня есть Enum, как это:
public enum ActCode {
CODE_3("3"),
CODE_4("4"),
CODE_6("6"),
CODE_7("7"),
CODE_12("12"),
CODE_13("13"),
CODE_14("14"),
CODE_15("15"),
CODE_16("16"),
CODE_17("17"),
CODE_18("18"),
CODE_19("19"),
CODE_20("20"),
CODE_23("23")
private String value;
private ActCode(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
Это мой класс:
@NodeEntity
public class TestEnum {
@GraphId
Long graphId;
String id;
String name;
@Enumerated(EnumType.STRING)
ActCode actCode;
}
Это, как я сохраняю мой класс в моей службы:
TestEnum test = new TestEnum("Enum 1",ActCode.CODE_3);
testEnumRepository.save(test);
Когда я посмотрите на мою базу данных, это результат:
Я также пытался использовать конвертер, это мой reference
Я использую Spring 4.3.3.RELEASE
, Hibernate 5.0.11.Final
, SDN4.1.3-RELEASE
и neo4j-ogm-2.0.5
.