ModelMapper无法在没有任何明显原因的情况下将实体映射到实体

时间:2018-12-23 20:07:58

标签: java spring modelmapper

我正在构建SPRING RESTapi应用程序,因此对映射感到头疼。我有一个名为 ProductTemplate 的实体,与 Product ManyToOne 关系。

模板:

public class ProductTemplate extends TableBased {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    //some other attributes

    @ManyToOne(cascade = ALL, fetch = LAZY)
    @JoinColumn(name = "product", nullable = false)
    private Product product;
}

产品:

public class Product extends TableBased {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    //some other attributes

    @OneToMany(mappedBy = "product")
    private List<ProductTemplate> productTemplates;
}

字母和二传手被省略。现在,我想返回一些特定的模板以及该模板所属的产品。所以我有POJO对象 ProductTemplateResponse:

public class ProductTemplateResponse {
    private Long id;
    //other attributes
    private Product product;
}

产品响应:

public class ProductResponse {
    private Long id;
    //other attributes
}

因此,在我的应用程序中,我找到了ProductTemplate实体,然后将其映射到POJO Response(相当基础的人员),如下所示:

mapper.map(foundProductTemplate, ProductTemplateResponse.class)

这是我在应用程序中执行过的非常基本的操作,但是由于某些原因,这里的映射器失败,并带有非常笼统的声明:

 Error mapping ProductTemplate to ProductTemplateResponse

但仅当我也想退回产品时。如果我从TemplateResponse中删除产品,则一切正常。而且ProductResponse也是可以的,因为我正在另一种响应中使用它,并且除此响应外,它每次都有效。您有什么主意吗?

0 个答案:

没有答案