Spring boot JPA - json с вложенным объектом и id
Я пытаюсь сделать проект с некоторыми основными отношениями ORM и контроллерами REST для отправки jsons.
Один из моих POJO выглядит так:
@Entity
@Table(name = "product_models")
public class ProductModel extends BaseEntityWithName {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "manufacturer_id")
@JsonManagedReference
private ProductManufacturer manufacturer;
--constr + setters + getters--
}
При выполнении запросов get ответ выглядит примерно так:
{
id: 1,
name: "Product 1",
manufacturer: {
id: 1,
name: "Manufacturer 1"
}
}
Есть ли способ, чтобы запрос выглядел примерно так?(Вернуть идентификатор внешнего ключа и вложенный объект)
{
id: 1,
name: "Product 1",
manufacturer_id: 1
manufacturer: {
id: 1,
name: "Manufacturer 1"
}
}
1 ответ
Решение
Вы можете просто добавить дополнительный геттер к ProductModel
и сделать их @Transient
@JsonProperty("manufacturer_id")
@Transient
public Long getManufacturerId() {
return manufacturer == null ? null : manufacturer.getId();
}