我正在尝试使用mapstruct,我需要将Entity
映射到子Entity
列表,我有关系oneToMany
和manyToOne
,我需要在两种情况下映射:
@Data
@Entity
public class EmailEntity {
private int id;
... // some fields
@ManyToOne
private DeliveredEmailInfoEntity deliveredEmailInfo;
}
.
@Data
@Entity
public class DeliveredEmailInfoEntity {
private int id;
... // some fields
@OneToMany
private List<EmailEntity> emails;
}
映射到:
@Data
public class EmailDTO {
private int id;
... // some fields
private DeliveredEmailInfoDTO deliveredEmailInfo;
}
.
@Data
public class DeliveredEmailInfoDTO {
private int id;
... // some fields
private List<EmailDTO> emails;
}
如何以最好的方式做到这一点?
它应该是直截了当的,在你的情况下没有任何挑战:
@Mapper
public interface EmailInfoMapper {
EmailDTO entityToDTO(EmailEntity duration);
EmailEntity dtoToEntity(EmailDTO price);
DeliveredEmailInfoDTO entityToDTO(DeliveredEmailInfoEntity duration);
DeliveredEmailInfoEntity dtoToEntity(DeliveredEmailInfoDTO price);
}
您应该在问题中包含您的映射器以及您遇到的问题。