1
我需要替換Orika的Dozer映射,並且我想知道是否可以在Orika中執行此操作mapper.map(obj1, obj2)
?到目前爲止,我已經看到,對於目標,您只能指定類的類型而不是對象,所以我假設每次都會創建一個新實例。但在這種情況下,我只需要使用DTO的某些字段更新先前找到的實體對象。那可能嗎?Orika如何在不實例化新目標對象的情況下映射對象
我需要替換Orika的Dozer映射,並且我想知道是否可以在Orika中執行此操作mapper.map(obj1, obj2)
?到目前爲止,我已經看到,對於目標,您只能指定類的類型而不是對象,所以我假設每次都會創建一個新實例。但在這種情況下,我只需要使用DTO的某些字段更新先前找到的實體對象。那可能嗎?Orika如何在不實例化新目標對象的情況下映射對象
是,有可能既地圖源對象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
屬性映射到您在ClassMap
定義B
。
該怎麼辦,讓內部對象發生這種行爲。 –
@ShineedBasheer - Orika會自動實例化所有內部對象,或者如果他們在那裏會使用現有的對象。 –
但我測試了相同的值來映射持久化對象與值對象。其實我想合併這些對象。通過保留對象上的persistencr相關狀態。對象很複雜,它包含內部對象列表和每個內部對象都有遞歸結構。正如你所說,奧裏卡映射了異常物體。但是對於內部對象,它正在創建新的對象 –