Object1 と Object2 があります。ここで、1 と 2 の属性を使用して object3 をマップします。
たとえば、私は2つのオブジェクトを持っています:
1. User: {first_name, last_name, id}
2. Address: {street, locality, city, state, pin, id}
さて、これらで、それをマッピングしたいと思います
User_View: {firstName, lastName, city, state}.
ここで、first_name と last_name は User オブジェクトから、city と state は Address オブジェクトから取得されます。
さて、私の質問は、どうやってそれを行うのですか?
しかし、現在、私はこのようにやっています
@Mapper
public abstract class UserViewMapper {
@Mappings({
@Mapping(source = "first_name", target = "firstName"),
@Mapping(source = "last_name", target = "lastName"),
@Mapping(target = "city", ignore = true),
@Mapping(target = "state", ignore = true)
})
public abstract UserView userToView(User user);
public UserView addressToView(UserView userView, Address address) {
if (userView == null) {
return null;
}
if (address == null) {
return null;
}
userView.setCity(address.getCity());
userView.setState(address.getState());
return userView;
}
}
しかし、ここでは、手動で にマッピングを記述する必要がありaddressToView()
ます。
したがって、それを回避する方法はありますか?
または、そのような状況を処理するための好ましい方法は何ですか?