Добавьте в перечисление Industry поле для кода и добавьте статический метод, который перебирает значения перечисления и возвращает значение перечисления, имеющее данный код
enum Industry {
CREATOR("I")/*, here comes more values of the enum*/;
private String code;
Industry(String code) {
this.code = code;
}
public static Industry forCode(String code) {
return Arrays.stream(Industry.values())
.filter(industry -> industry.code.equals(code))
.findAny()
.orElse(null);
}
}
Для использования необходимо определить Mapper
, а в маппере метод 'Industry # forCode` должен быть вызван
Industry industry = Industry.forCode("I");
Раздел 6 из Краткое руководство по MapStruct Статья подробно описывает, как Mapper
можно использовать