2016-03-07 7 views
1

Мне нужно заменить карты Дозеры Орикой, и я хочу знать, можно ли это делать. Делает нуль mapper.map(obj1, obj2) в Орике? Я до сих пор видел, что для назначения вы можете указать тип класса, а не объект, поэтому я предполагаю, что каждый экземпляр будет создан каждый раз. Но в этом случае мне нужно только обновить ранее обнаруженный объект объекта с некоторыми полями DTO. Это возможно?Как объекты карты Орики, не создавая экземпляр нового объекта назначения

ответ

1

Да, можно как карта исходного объект A к целевому классу B - то Orika будет создать экземпляр B самих по себе - или уже созданному экземпляру B.

// Let Orika create instance of B 
A source = new A(); 
BoundMapperFacade<A, B> mapper = mapperFactory.getMapperFacade(A.class, B.class); 
B target = mapper.map(source); 

// Create instance of B yourself and let Orika fill it 
A source = new A(); 
B target = new B(); 
BoundMapperFacade<A, B> mapper = mapperFactory.getMapperFacade(A.class, B.class); 
mapper.map(source, target); 

Во втором случае вы можете настроить на target экземпляр самостоятельно каким-то образом - Orika будет отображать только свойства из A в B, что вы определили в ClassMap.

+0

Что делать, чтобы получить это поведение во внутреннем объекте. –

+0

@ShineedBasheer - Orika будет автоматически создавать все внутренние объекты или использовать существующие, если они есть. –

+0

Но я тестировал то же самое, что и объект с сохранением объекта с объектом value. На самом деле я хочу объединить этот объект. Сохраняя состояние persistencr на объекте. Объект является сложным по существу, он содержит список внутреннего объекта, и каждый внутренний объект имеет рекурсивную структуру. По мере того, как вы сказали, Орика карты outter объект. Но для внутренних объектов он создает новые объекты. –

 Смежные вопросы

  • Нет связанных вопросов^_^