В моей базе данных Oracle есть значения сумм, которые хранятся как VARCHAR. При извлечении записей из базы данных я хочу сопоставить их с POJO, в котором значения сумм представлены как двойные. К сожалению, я не могу использовать принудительные типы, так как в базе данных все хранится как VARCHAR, и нет шаблона, который идентифицирует столбец как столбец, содержащий значение суммы.
Я смотрел на jOOQ конвертеры , которые, кажется, то, что я хочу. Поэтому я создал конвертер jOOQ для этой цели:
public class DoubleConverter implements Converter<String, Double> {
@Override
public Double from(String stringValue) {
return new Double(stringValue);
}
@Override
public String to(Double doubleValue) {
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(0);
df.setGroupingUsed(false);
return df.format(doubleValue);
}
@Override
public Class<String> fromType() {
return String.class;
}
@Override
public Class<Double> toType() {
return Double.class;
}
}
Однако я хочу запускать этот конвертер всякий раз, когда я хочу сопоставить запись базы данных с моим POJO, используя record.into(MyClass.class)
, а затем запускать обратно всякий раз, когда я записываю обратно в базу данных. Как вы рекомендуете достичь этого, пожалуйста?