I have a problem with Mapper.I am using a mapstruct-processor to build Maven project. All time I get a warning: Warning:(15, 16) java: Unmapped target properties: "from, to". Warning:(13, 13) java: Unmapped target properties: "clientFrom, clientTo". What did I suppose to do with that? Class Client works well and creates a Client.
@Entity
public class Message {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String message;
@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "client_from")
private Client clientFrom;
@ManyToOne
@JoinColumn(name = "client_to")
private Client clientTo;
public Message(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Client getClientFrom() {
return clientFrom;
}
public void setClientFrom(Client clientFrom) {
this.clientFrom = clientFrom;
}
public Client getClientTo() {
return clientTo;
}
public void setClientTo(Client clientTo) {
this.clientTo = clientTo;
}
}
public class MessageDTO {
private Long id;
private String message;
private ClientDTO from;
private ClientDTO to;
public MessageDTO(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public ClientDTO getFrom() {
return from;
}
public void setFrom(ClientDTO from) {
this.from = from;
}
public ClientDTO getTo() {
return to;
}
public void setTo(ClientDTO to) {
this.to = to;
}
}
@Mapper(componentModel = "spring", uses = {ClientMapper.class})
public interface MessageMapper {
Message toMessage(MessageDTO messageDTO);
MessageDTO toMessageDTO(Message message);
List<Message> toMessageList(List<MessageDTO> list);
List<MessageDTO> toMessageDTOList(List<Message> list);
}
In latest versions of MapStruct you can:
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)