ModelMapper не может отобразить сущность на сущность без видимой причины - PullRequest
0 голосов
/ 23 декабря 2018

Я создаю приложение SPRING RESTapi, и у меня настоящая головная боль с отображением.У меня есть одна сущность с именем ProductTemplate с ManyToOne отношение к Product .

Шаблон:

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

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

и ProductResponse:

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

Итак, в моем приложении я нахожу сущность ProductTemplateи затем я сопоставляю его с POJO Response (довольно простой персонал) следующим образом:

mapper.map(foundProductTemplate, ProductTemplateResponse.class)

Это очень простая операция, которую я выполняю много раз в своем приложении, но по какой-то причине здесь mapper завершается неудачно с очень общим утверждением:

 Error mapping ProductTemplate to ProductTemplateResponse

но только в том случае, если я хочу вернуть товар.Если я удаляю продукт из TemplateResponse, все работает просто отлично.И с ProductResponse тоже все в порядке, потому что я использую его в других ответах, и он работает каждый раз, кроме этого.У вас есть идеи, что может быть не так?

...