【问题标题】:MapStruct: How can I do filter to fields which I want and don't want to mapping?MapStruct:如何过滤我想要和不想映射的字段?
【发布时间】:2020-01-18 00:50:03
【问题描述】:

我有一个 DTO。我不想映射 MapStruct 中的所有字段。

例如,User 和 UserDTO

public class UserDTO {

    private Long id;
    private String username;
    private String password;
    private String email;
    private boolean active;
    private String activationCode;
    private Set<Role> roles;

}

我有下一个映射器:

User fromUserDTO(UserDTO userDTO);

我不想映射 id、用户名、密码、电子邮件。我怎样才能指出这些字段没有卡住?

User user = fromUserDTO(userDTO);

【问题讨论】:

    标签: java mapping entity dto mapstruct


    【解决方案1】:

    我找到了答案。

    1. 我可以忽略一个字段:
    @Mapping(target = "id", ignore = true)
    User fromUserDTO(UserDTO userDTO);
    
    1. 或者我可以忽略等于 null 的字段:
    @Mapping(target="id", nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
    User fromUserDTO(UserDTO userDTO);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 2021-08-02
      • 2021-04-25
      • 2018-09-06
      相关资源
      最近更新 更多