Я хочу записать данные пружины mon go пользовательский преобразователь для класса A:
public class A {
private B b;
private String var1;
private int var2;
// default getters and setters
}
класс B выглядит следующим образом:
public class B {
private String var3;
private String var4;
// default getters and setters
}
Конвертер выглядит следующим образом:
public class AWriteConverter implements Converter<A, Document> {
@Override
public Document convert(A a) {
Document document = new Document();
document.put("var1", a.getVar1());
document.put("var2", a.getVar2());
// This will be failed, How can I use the default converter for this field?
document.put("b", a.getB());
return document;
}
}
Проблема в том, что я хочу использовать конвертер по умолчанию spring-data-mon go для поля B b
внутри класса A
, но я не знаю, как это сделать это.
Приведенный выше код не работает с этим исключением:
Caused by: org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class B
Причина довольно очевидна, каково решение? Учтите, что я не хочу преобразовывать B b
вручную (как то, что я сделал с A), я просто хочу делегировать преобразование класса B обратно в преобразователь POJO по умолчанию spring-data-mon go. Есть ли способ сделать это sh?