我正在尝试为食品订单管理创建Web服务。我有实体产品和餐厅,并且正在努力使Order Entity成为可能。
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
@JoinColumn(name = "restaurant_id", referencedColumnName = "id", insertable=false, updatable=false)
@JsonBackReference
private Restaurant restaurant;
private int restaurant_id;
private String name;
private float price;
}
@Entity
public class Restaurant {
@Id
@GeneratedValue
private int id;
@NotNull
private String name;
private String city;
private String phone;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "restaurant", cascade = CascadeType.ALL)
@JsonManagedReference
private List<Product> menu;
}
我希望Order实体具有一个列表。如果我在Product中保留一个属性OrderId,以联接表Product和Order,那将是一个好主意吗?有什么更好的方法吗?
PS:我不想随产品保留订单ID,因为我认为产品不应该知道它
答案 0 :(得分:0)
是的,这是个好主意。
您可以在“订单”实体中使用“列表”,并通过在产品中具有订单ID来加入它们。
很难说出您真正想要的是什么,但是此网站(在标题关系下)描述了可能适用于所有用例的最佳实践!
https://vladmihalcea.com/tutorials/hibernate/
干杯!