Я использую 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 устанавливается фактическое значение роли.
Я хочу полностью игнорировать два свойства источника, разрешения и роль в месте назначения.
Есть идеи, как этого добиться?