Здравствуйте, GreenTea, Вы писали:
GT>Чуть расширенная версия статьи с хабра, для тех кто еще не видел
GT>http://brunneng.blogspot.com/2013/10/java-object-merger.html
Статья как раз для хабра. У вас есть кривой код? У нас есть для него фреймверк!
В итоге может оказатся, что существенной разницы между
personVO.setFirstName(person.getFirstName());
person.setFirstName(personVO.getFirstName());
супротив аналогичного кода на API маппера не имеется.
От себя хочу отметить, что в нормальном дизайне приложения такой ерунды как перекладывания свойств туда-сюда между (тремя!) слоями нет.
BO чудестно можно использовать на всех слоях вместо DTO и VO. Вводя последние лишь в отдельных случаях, когда нужна агрегация и специальная оптимизация.