我想映射嵌套的java對象。 Customer.address.houseNumber
至userDTO.homeDTO.addressDTO.houseNo
。Mapstrtuct:嵌套對象。僅當源元素不爲空時才創建目標對象
後市展望:當且僅當Customer.address.houseNumber
不爲空,然後創建userDTO
下homeDTO
對象。否則,不要創建任何目標對象。
問題:我在映射程序中使用了"NullValueCheckStrategy.ALWAYS"
。但地圖結構正在檢查address
是否爲空,則會創建homeDTO
。在address
內部,houseNumber
爲NULL。我想空檢查直到houseNumber
(葉/最後一級對象),然後創建目標對象。
請告知我應該如何實現這一
這裏是我使用的映射。
@Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface Customer2UserMapper {
@Mapping(source="address.houseNumber", target="homeDTO.addressDTO.houseNo")
void mapCustomerHouse(Customer customer, @MappingTarget UserDTO userDTO) ;
}
生成的代碼是在https://github.com/mapstruct/mapstruct/issues/1303
有在代碼中的一些錯別字(錯誤),您連接,例如'customer.getAddress()=。getHouseNumber()' –
謝謝Andrii。更正它。 –