[英]Mapping to DTO bidirectional entities in SpringBoot with MapStruct
我在 Spring Boot 中有一个双向映射:
公司.class
...
private Integer id;
private String nameC;
@OneToMany
private List<Employee> employees;
...
员工.class
...
private Integer id;
private String nameE;
@ManyToOne
private Company company;
...
现在我想用 map 结构映射到这些 DTO
公司DTO
private Integer id;
private String nameC;
private List<EmployeeDTO> employees;
员工DTO
private Integer id;
private String nameE;
private Integer company; // so this should be Company ID
地图公司
Company toCompany(CompanyDTO cDto)
CompanyDTO toCompanyDTO(Company c)
地图员工
Employee toEmployee(EmployeeDTO eDto)
EmployeeDTO toEmployeeDTO(Employee emp)
@Mapping(target = "company.id", source = "eDto.company")
List<Employee> toEmployee(List<EmployeeDTO> eDto)
@Mapping(target = "company", source = "emp.company.id")
List<EmployeeDTO> toEmployeeDTO(List<Employee> emp)
现在,
尝试这个
@Named("toEmployee")
Employee toEmployee(EmployeeDTO eDto)
@Named("toEmployeeDTO")
EmployeeDTO toEmployeeDTO(Employee emp)
@IterableMapping(qualifiedByName = "toEmployee")
List<Employee> toEmployee(List<EmployeeDTO> eDto)
@IterableMapping(qualifiedByName = "toEmployeeDTO")
List<EmployeeDTO> toEmployeeDTO(List<Employee> emp)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.