【发布时间】:2021-04-08 13:54:17
【问题描述】:
我有一个Order 实体和OrderProduct。我想在前端显示订单详细信息,当然还有订单产品。那么如何在OrderProduct JSON 中获取产品对象。我在产品数组中缺少产品对象。我不再需要订单对象,我认为这将是一个无限递归的东西。 :)
我的Order 实体:
@Entity
@Getter
@Setter
@Table(name ="orders")
public class Order{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
private BigDecimal totalPrice;
@OneToMany(mappedBy = "order", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JsonManagedReference(value="orders")
private List<OrderProduct> products = new ArrayList<>();
private int userId;
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date date = new Date();
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date deliveryDate;
@Enumerated(EnumType.STRING)
private OrderType orderType;
}
我的OrderProduct 实体:
@Entity
@Setter
@Getter
public class OrderProduct {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.EAGER)
@JsonBackReference(value="product")
@JoinColumn(name = "product_id")
private Product product;
@ManyToOne
@JsonBackReference(value="orders")
@JoinColumn(name = "order_id")
private Order order;
private Integer quantity;
}
产品实体:
@Entity
@Getter
@Setter
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String name;
private double price;
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL)
@JsonManagedReference(value="ingredients")
private List<Ingredient> ingredients = new ArrayList<>();
@OneToMany(mappedBy = "product",fetch = FetchType.EAGER)
@JsonManagedReference(value="product")
private List<OrderProduct> products = new ArrayList<>();
private String fileName;
}
【问题讨论】:
标签: java json spring hibernate jpa