2013-10-09 1 views
1

i habe вопрос, касающийся картографирования бульдозера. У меня есть follwing Parts конфигурационных XML (я не понимаю некоторые из этих фактов):Конфигурация компоновщика бункера-дозатора с коллекциями и атрибутом set-method

<mapping> 
    <class-a> 
     entity.template.TemplateEntity 
    </class-a> 
    <class-b>dto.template.TemplateDto 
    </class-b> 
    <field> 
     <a set-method="setLang" get-method="getLang">lang</a> 
     <b set-method="setLang" get-method="getLang">lang</b> 
     <a-hint>entity.template.TemplateLanguageEntity</a-hint> 
     <b-hint>dto.template.TemplateLanguageDto</b-hint> 
    </field> 
</mapping> 

Что такое значение для бетона "Set-метод =" setLang "получить-метод = "getLang""?

Что делает блок-картель дозерской камеры в этой части? Нет другой конфигурации, которая описывает, как должна быть сопоставлена ​​две коллекции?

<a-hint>entity.template.TemplateLanguageEntity</a-hint> 
<b-hint>dto.template.TemplateLanguageDto</b-hint> 

Содержит ли карта-дозатор все поля автоматически, которые основаны ими, если конфигурация не установлена?

Спасибо за помощь!

Greetz Marwief

ответ

1
  • Что такое значение для бетона "Set-метод =" setLang "получить-метод = "getLang""?

Бобы, которые могут иметь нестандартные методы получения и установки, поддержка бульдозер указанного пользователя и присваивателя methods.To сделать двунаправленную отображение в этом случае, рассмотрим следующий пример ниже.

Исходное поле в элементе A определяет метод настраиваемого метода установки и метод getter с использованием атрибутов.

<field> 
    <a set-method="placeValue" get-method="buildValue">value</a> 
    <b>value</b> 
</field> 
  • Что делает бульдозер Bean Mapper делать в этой части? Нет другой конфигурации, которая описывает, как должна быть сопоставлена ​​две коллекции?

Понять Custom set() and get() methods dozer documentation.

Возьмем, например, если мы сопоставляем String в ArrayList, вызывая метод addIntegerToList(). Обратите внимание, что это определяется как односторонний тип поля, поскольку мы не можем сопоставить ArrayList с String.

<!-- we can not map a ArrayList to a String, 
     hence the one-way mapping --> 
    <field type="one-way">   
     <a>integerStr</a> 
     <b set-method="addIntegerToList">integerList</b> 
    </field> 
  • карту ли бульдозер Mapper все поля автоматически, опирающихся на них, если конфигурация не была установлена?

Да, бульдозер Mapper отображает все поля автоматически из класса А в класс-B iff both the field names are same.