我使用 Postgres 作为我的数据源,我已经为一个包含我的自定义对象列表的属性创建了一个自定义的 Spring 转换器:
@Slf4j
@WritingConverter
@AllArgsConstructor
public class CustomObjectListToStringConverter implements Converter<List<CustomObject>, String> {
@Override
public String convert(@Nonnull List<CustomObject> source) {
try {
return objectMapper.writeValueAsString(source);
} catch (JsonProcessingException e) {
log.error("Error occurred while serializing list of CustomObject to JSON.", e);
}
return "[]";
}
}
转换进行得很顺利,但是在 PostgresArrayColumns
类的 getArrayType
方法中引发了 IllegalArgumentException
,因为我的自定义类型不是简单类型。
有没有办法绕过某些属性的这个守卫?
最佳答案
目前,没有覆盖可能,因为 DatabaseClient
将集合类型的值视为 Postgres 数组字段的值。请在 https://github.com/spring-projects/spring-data-r2dbc/ 提交工单解决问题。
关于postgresql - 在 Spring Data R2DBC 中覆盖数组(列表)类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56580662/