Как сопоставить HashMap с Pojo

У меня возникают трудности с сопоставлением HashMap с Pojo с помощью бульдозера. Примечание: имена атрибутов в моем Pojo не сопоставляются со значениями ключей в HashMap, которые я заполнил. Я пытаюсь использовать атрибут set-method в файле сопоставления бульдозера, чтобы сопоставить хеш-ключ с установщиком Pojo. Когда я запускаю приведенный ниже код, я не получаю никаких исключений, но Pojo не заполняется никакими данными из хэша. Любые предложения или отзывы будут оценены.

Пожо:

public class Hotel {

private String companyAssignedId;

public Hotel(){}

public String getCompanyAssignedId() {
    return companyAssignedId;
}

public void setCompanyAssignedId(String companyAssignedId) {
    this.companyAssignedId = companyAssignedId;
}

}

Сопоставление XML:

<mapping>
   <class-a>com.reardencommerce.platformsvc.hadoop.dto.Hotel</class-a>
   <class-b>java.util.Map</class-b>

   <field>
        <a set-method="setCompanyAssignedId">hotel</a>
        <b key="COMPANY_ASSG_ID">rawData</b>
   </field>
</mapping>

Код исполнения:

DozerBeanMapper beanMapper = new DozerBeanMapper();
List<String> mappingFiles = new ArrayList<String>();
mappingFiles.add("dozer-test.xml");
beanMapper.setMappingFiles(mappingFiles);
Map<String, String> rawData = new HashMap <String, String> ();
rawData.put("COMPANY_ASSG_ID","12345");
Hotel hotel = new Hotel();
beanMapper.map(rawData, hotel);

person Steven Lewis    schedule 28.10.2010    source источник


Ответы (1)


Попробуйте использовать this вместо rawData. Dozer будет искать метод чтения/записи для поля rawData в хэш-карте и в итоге получит исключение сопоставления.

person Venu    schedule 24.02.2011