Как делегировать преобразование класса обратно в преобразователь POJO по умолчанию spring-data-mon go внутри пользовательского преобразователя? - PullRequest
0 голосов
/ 05 мая 2020

Я хочу записать данные пружины 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?

...