Как заставить jooq -codegen, сгенерированные перечислениями работать с библиотеками десериализации (например, Джексон)JAVA

Программисты JAVA общаются здесь
Anonymous
Как заставить jooq -codegen, сгенерированные перечислениями работать с библиотеками десериализации (например, Джексон)

Сообщение Anonymous »

jooq Codegenerator создает enums (когда это может) для столбцов базы данных, которые позволяют ему. Используйте те же перечисления, которые JOOQ сгенерировал и использует в сгенерированных рекордах JOOQ, потому что перечисления полезны по причинам типов при проверке значений. /> < /li>
[*] Мой фронт отправляет пост в бэкэнд, где содержание содержит такое значение DTO, но десериализация Джексона не может десериализировать заданное строковое значение для ожидаемого перечисления, поскольку перечисление не дает Джексону способ определить, какую функцию вызовут пузырьку. Обычно: < /p>
< /li>

Код: Выделить всё

@JsonValue 

 @JsonCreator< /code> < /p>
< /li>
< /ul>
Что считается наилучшей практикой для этого применения? ? />  Пример Jooq Codegen, созданный enum: < /p>
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public enum MatchingslotStatus implements EnumType {

AVAILABLE("AVAILABLE"),

SEARCHING("SEARCHING"),

ANSWER_WAITING("ANSWER_WAITING"),

ANSWER_EXPECTED("ANSWER_EXPECTED"),

FINISHED("FINISHED");

private final String literal;

private MatchingslotStatus(String literal) {
this.literal = literal;
}

@Override
public Catalog getCatalog() {
return null;
}

@Override
public Schema getSchema() {
return null;
}

@Override
public String getName() {
return null;
}

@Override
public String getLiteral() {
return literal;
}

/**
* Lookup a value of this EnumType by its literal. Returns
* null
, if no such value could be found, see {@link
* EnumType#lookupLiteral(Class, String)}.
*/
public static MatchingslotStatus lookupLiteral(String literal) {
return EnumType.lookupLiteral(MatchingslotStatus.class, literal);
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... braries-li

Вернуться в «JAVA»