@Nullable public Object valueToDatabase(@Nullable Object value) { if (value == null) return null; TypeConversion conversion = typeConversionRegistry.findConversionToDb(value.getClass()).orElse(null); if (conversion != null) return conversion.convert(value); else if (value instanceof Enum<?>) return dialect.valueToDatabase(((Enum<?>) value).name()); else return dialect.valueToDatabase(value); }