ModelMapper-跳过“源”属性

时间:2018-10-24 23:12:31

标签: modelmapper

我正在使用ModelMapper并尝试在实体(源)和DTO(目标)之间进行映射。该实体与其他实体有关系,而DTO没有这些关系。

// Entity 
public class UsersEntity extends AuditedEntity<String> implements Serializable {
    private Long id;
    private String firstName;
    private String lastName;

// Relationships

    @ManyToMany(cascade = {CascadeType.ALL})
    @JoinTable(name = "UsersPermissions", schema = "dbo",
            joinColumns = {@JoinColumn(name = "UserId", referencedColumnName = "Id")},
            inverseJoinColumns = {@JoinColumn(name = "PermissionId", referencedColumnName = "Id")})
    private Set<PermissionsEntity> permissions = new HashSet<>();



    @ManyToOne
    @JoinColumn(name = "RoleId")

    private RolesEntity role;

//Getters and Setters ommitted for brevity

}

// DTO
public class FindUserByIdOutput {

    private Long id;
    private String firstName;
    private String lastName;
}

当我尝试使用进行转换

    modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);

java.lang.reflect.Type targetListType = new TypeToken<Page<FindUserByIdOutput>>() {}.getType();

modelMapper.map (Page<UsersEntity>, targetListType)

映射的目的地

targetListType (Page<FindUserByIdOutput>)

具有权限和角色源属性。权限属性设置为null,角色属性设置为角色的实际值。

我想要的是完全忽略目标中的两个源属性,即权限和角色。

关于如何实现此目标的任何想法?

0 个答案:

没有答案