Как определить метод создания для промежуточного класса во время отображения в Dozer - PullRequest
0 голосов
/ 24 августа 2011

Вот мой сценарий, у меня есть 2 класса "com.project.ClassA" и "com.project.ClassB", я пытаюсь сопоставить поля ClassA.name с ClassB.person.nameObj.firstName.

Как видите, Dozer должен создать объект person и nameObj, прежде чем он сможет выполнять сопоставление, есть некоторые фабричные классы для инициации объектов Person и NameObj.

Я знаю, что мы можем определить пользовательский метод создания на уровне поля и класса, но это относится только к полю или классу, который вы отображаете.В моем примере сопоставление находится между 2 полями String, но перед выполнением сопоставления необходимо создать 2 объекта.

Я получаю ошибку: org.dozer.MappingException: java.lang.NoSuchMethodException: com.project.ClassB.Person. ()

Любая помощь или идеи будут высоко оценены.Спасибо.

1 Ответ

0 голосов
/ 31 августа 2011

Две вещи
1. ClassB нужен конструктор, который инициализировал obj Person, так же Person нужен конструктор для инициализации nameobj.
2. Должны присутствовать методы доступа и мутатора (геттеры и сеттеры).

После выполнения обоих этих шагов это должно сработать.

...