Я создаю приложение 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 тоже все в порядке, потому что я использую его в других ответах, и он работает каждый раз, кроме этого.У вас есть идеи, что может быть не так?