ModelMapper - Пропуск свойств «источника» - PullRequest
0 голосов
/ 25 октября 2018

Я использую 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>)

имеет разрешения и свойства источника роли.Для свойства permissions устанавливается значение null, а для свойства role устанавливается фактическое значение роли.

Я хочу полностью игнорировать два свойства источника, разрешения и роль в месте назначения.

Есть идеи, как этого добиться?

...