Spring:持久化属性列表,该列表本身包含其他属性的列表



我正在尝试为食品订单管理制作网络服务。我有一个实体产品和餐厅,我正在努力制作订单实体。

@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;
}

我希望订单实体有一个列表。如果我在产品中保留一个属性 OrderId,以连接表产品和订单,这会是个好主意吗?有没有更好的方法?

PS:我不想保留产品订单ID,因为我认为产品不应该意识到它

是的,这是一个好主意。

您可以使用"订单中的列表"实体,并通过在产品中具有订单 ID 来加入它们。

很难说出你真正想要什么,但这个网站(在标题关系下(描述了可能适用于所有用例的最佳实践!

https://vladmihalcea.com/tutorials/hibernate/

干杯!

最新更新