Spring boot 如何将Dto的特定属性映射到另一个对象
我有一个名为股票和分行的实体。现在我需要映射到dto,但dto中的一个字段来自另一个实体Spring boot 如何将Dto的特定属性映射到另一个对象,spring-boot,mapping,mapstruct,mapper,Spring Boot,Mapping,Mapstruct,Mapper,我有一个名为股票和分行的实体。现在我需要映射到dto,但dto中的一个字段来自另一个实体 public class Stock implements Identifiable { @Id @Basic @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; private String name; private String code; @ManyToOne(fetch = FetchType.LAZY) pri
public class Stock implements Identifiable {
@Id
@Basic
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
private String name;
private String code;
@ManyToOne(fetch = FetchType.LAZY)
private StockStatus stockStatus;
}
实体分支机构
public class Branch implements Identifiable {
@Id
@Basic
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
private String name;
private String address;
}
和DTO股票DTO
public class StockDto {
@NotNull
@EqualsAndHashCode.Include
private UUID id;
@NotBlank
private String name;
@NotNull
private String code;
@NotNull
private UUID stockStatusId;
@NotNull
private UUID branchId;
}
所以我想把实体股票映射到StockDto。这是我的mapper类
@Mapper(config = MapStructConfig.class, uses = {
StockStatusMapper.class,
})
public interface StockMapper {
@Mapping(source = "stockStatus", target = "stockStatusId")
StockDto toDto(Stock stock);
}
如何映射作为实体分支ID的分支?
我尝试使用@BeforeMapping和@AfterMapping,但没有调用该方法。不清楚
分支如何在映射中出现。那么StockStatus
看起来怎么样?