【发布时间】:2018-01-20 23:32:08
【问题描述】:
我正在使用 mapstruct 来映射我的实体和 dto 类...我的映射器类上的循环有问题...
我不知道该怎么做...这是我的映射器类
@Mapper(componentModel = "spring", uses = {BrandMapper.class})
public interface VehicleTypeMapper {
VehicleTypeDTO vehicleTypetoVehicleTypeDTO(VehicleType vehicleType);
Iterable<VehicleTypeDTO> vehicleTypetoVehicleTypeDTO(Iterable<VehicleType> vehicleTypes);
VehicleType vehicleTypeDTOtoVehicleType(VehicleTypeDTO vehicleTypeDTO);
}
@Mapper(componentModel = "spring", uses = { VehicleTypeMapper.class, ModelMapper.class })
public interface BrandMapper {
BrandDTO brandtoBrandDTO(Brand brand);
Iterable<BrandDTO> brandtoBrandDTO(Iterable<Brand> brands);
Brand brandDTOtoBrand(BrandDTO brandDTO);
}
我的实体类... DTO 与我的实体类具有相同的属性...
@Entity
@Table(name = "tb_brand")
public class Brand implements Serializable {
private static final long serialVersionUID = 1506494747401320985L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "vehicle_type_id", foreignKey = @ForeignKey(name = "fk_vehicle_type"))
private VehicleType vehicleType;
@JsonIgnore
@OneToMany(mappedBy = "brand", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Model> models;
@Column(name = "description", nullable = false)
private String description;
//GETS AND SETS
}
@Entity
@Table(name = "tb_vehicle_type")
public class VehicleType {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@JsonIgnore
@OneToMany(mappedBy = "vehicleType", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Brand> brands;
@Column(name = "description", nullable = false)
private String description;
//GETS AND SETS
}
堆栈跟踪
at br.com.meuveiculocerto.business.mapper.VehicleTypeMapperImpl.brandListToBrandDTOList(VehicleTypeMapperImpl.java:81) ~[classes/:na]
at br.com.meuveiculocerto.business.mapper.VehicleTypeMapperImpl.vehicleTypetoVehicleTypeDTO(VehicleTypeMapperImpl.java:33) ~[classes/:na]
at br.com.meuveiculocerto.business.mapper.BrandMapperImpl.brandtoBrandDTO(BrandMapperImpl.java:35) ~[classes/:na]
at br.com.meuveiculocerto.business.mapper.VehicleTypeMapperImpl.brandListToBrandDTOList(VehicleTypeMapperImpl.java:81) ~[classes/:na]
有人可以帮我确定它为什么循环吗?
【问题讨论】:
-
在我的例子中,我已经使用了 mapstruct 接口。