Open
Description
edwil13x opened DATAJDBC-566 and commented
i want to use a genric converter for all the enums i used in my project. but i got an error.
Explanations :
Given this enum
public enum Gender {
MALE("male"), FEMALE("female"), NON_BINARY("non-binary");
private String gender;
Gender(String gender) {
this.gender = gender;
}
public String toString() {
return gender;
}
}
and this jdbcConfig
@Configuration
public class DataJdbcConfiguration extends AbstractJdbcConfiguration {
public <T extends Enum<T>> Converter<String, T> createEnumReadingConverter(Class<T> enumClass) { return new Converter<String, T>() { @Override public T convert(String value) { for(T constant : enumClass.getEnumConstants()) { if(constant.toString().equalsIgnoreCase(value)) return constant; } throw new IllegalArgumentException("Unable to find Enum type for : " + value); } } ; }
@Override
public JdbcCustomConversions jdbcCustomConversions() {
Converter<String, Gender> genericGenderConverter = createEnumReadingConverter(Gender.class);
return new JdbcCustomConversions(Arrays.asList(genericGenderConverter));
}
}
=> why my genericGenderConverter is not use at all, and spring data back to the default enum converter.
Affects: 2.0.1 (Neumann SR1)
1 votes, 2 watchers