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();
}
Другие вопросы по тегам