mapstruct将实体OneToMany映射到DTO并反向

问题描述 投票:0回答:1

我正在尝试使用mapstruct,我需要将Entity映射到子Entity列表,我有关系oneToManymanyToOne,我需要在两种情况下映射:

@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;

}

如何以最好的方式做到这一点?

java mapstruct
1个回答
1
投票

它应该是直截了当的,在你的情况下没有任何挑战:

@Mapper
public interface EmailInfoMapper {

    EmailDTO entityToDTO(EmailEntity duration);
    EmailEntity dtoToEntity(EmailDTO price);

    DeliveredEmailInfoDTO entityToDTO(DeliveredEmailInfoEntity duration);
    DeliveredEmailInfoEntity dtoToEntity(DeliveredEmailInfoDTO price);
}

您应该在问题中包含您的映射器以及您遇到的问题。

© www.soinside.com 2019 - 2024. All rights reserved.