这是我的第一篇文章,大家好! :)
我有一个关于数据库架构的问题。我正在使用Spring编写RESTful应用程序。这个想法是允许用户根据存储在数据库中的产品创建自己的饮食。
所以我开始创建实体餐,它应该包括产品和这些产品的数量。使用地图似乎是自然而然的方式。问题是,正如我所读到的,将此类映射到 JSON 对象存在问题,我想将其发送到客户端浏览器。我的另一个想法是存储像 ProductWithQuantity 这样的对象列表而不是这样的地图,但我有点担心数据库会很快被 1 杯牛奶、2 杯牛奶、1.1243 杯牛奶等条目淹没。
所以我的问题是 - 你对用于此目的的架构有什么更好的想法吗? ;)
我会定义一个实体餐,它与实体产品有一对多关系,该产品具有"名称"、"数量"、"单位"和"价格"等属性或类似的东西。单位可以是"克"、"升"等。
我可能会建议一顿饭,有很多份,每份都是单一产品。 牛奶或汉堡等产品可能有营养信息,而一顿饭会有很多份不同的产品。 服务本质上是平均值和产品之间的关系表,但包含服务大小等附加信息。
@Entity
Class Meal {
@Id
Integer Id;
@OneToMany(mappedBy="meal")
List<Serving> servings;
}
@Entity
Class Serving {
@Id
Integer Id;
@OneToOne
Meal meal;
@OneToOne
Product product;
@Basic
Long servingCount;
}
@Entity
Class Product {
@Id
Integer Id;
@Basic
String simpleName;
@Basic
Integer caloriesPerServing;
..
}