2016-07-21 2 views
1

Ну, я пытаюсь разобрать объекты, и у меня так много проблем. Мои классы так:Как разобрать DTO на объекты Pojo

- Entidad -

public class Entidad{ 

    private Long codEntidad; 
    private Set<Comunicacion> comunicacion; 


    /*------------ Getter and Setters --------------*/ 

} 

- Comunicación -

public class Comunicacion { 

    private Entidad entidad; 
    private Long codComunicacion; 

    /*------------ Getter and Setters --------------*/ 

} 

Мне нужно разобрать на объекты DTO:

- EntidadDTO -

public class EntidadDTO{ 

    private Long codEntidad; 
    private Set<ComunicacionDTO> comunicacionDto; 


    /*------------ Getter and Setters --------------*/ 

} 

- ComunicacionDTO -

public class ComunicacionDTO { 

    private EntidadDto entidadDto; 
    private Long codComunicacion; 

    /*------------ Getter and Setters --------------*/ 

} 

Я пытался использовать:

BeanUtils.copyProperties (entidad, entidadDto);

Кажется, что синтаксический анализ - это успех, но свойство entidadDto.getComunicacionDto(); является hashMap of Comunicacion (не ComunicacionDTO)

Должен ли я попытаться выполнить индивидуальный анализ с отражением?

Также я хотел бы использовать это для анализа большего количества объектов с аналогичной структурой. Спасибо!

ответ

0

Попробуйте бульдозер. Вы можете определить отображения из bean в bean, используя его. http://dozer.sourceforge.net/

+0

Я слышал о Dozer, но действительно может преобразовать объекты с циклическими ссылками, подобными этим? –

0

Почему вы хотите разобрать Java-объект и перенести данные на другой объект java? Разбор предназначен для неструктурированных строк, а не для объектов.

Используйте сеттеры/геттеры для перемещения данных с одного объекта на другой, используя отражение заставит вас плакать, когда вы начнете выполнять рефакторинг.

+0

Причина в том, что на моем контроллере я создаю DTO и через сервис Dao требуется Pojo для создания регистра на ddbb. Должен ли я изменить контроллер, чтобы получить Pojo и забыл Parse? –