3

我需要用 Orika 替换 Dozer 映射,我想知道是否可以mapper.map(obj1, obj2)在 Orika 中做这个 Dozer 的东西?到目前为止,我已经看到,对于目的地,您只能指定类类型而不是对象,所以我假设每次都会创建一个新实例。但在这种情况下,我只需要使用 DTO 的某些字段更新先前找到的实体对象。那可能吗?

4

1 回答 1

2

是的,可以将源对象映射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 只会将属性从映射AB您在ClassMap.

于 2016-03-08T09:31:38.770 回答