我正在尝试使用一些基本的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--
}
在提出请求时,响应看起来像这样:
{
id: 1,
name: "Product 1",
manufacturer: {
id: 1,
name: "Manufacturer 1"
}
}
有没有办法让请求看起来像这样?(返回外键id和嵌套对象)
{
id: 1,
name: "Product 1",
manufacturer_id: 1
manufacturer: {
id: 1,
name: "Manufacturer 1"
}
}
答案 0 :(得分:3)
您只需向ProductModel
添加一个额外的getter,然后将它们@Transient
@JsonProperty("manufacturer_id")
@Transient
public Long getManufacturerId() {
return manufacturer == null ? null : manufacturer.getId();
}