JPA,休眠:数据库模式



这是我的第一篇文章,大家好! :)

我有一个关于数据库架构的问题。我正在使用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;
  ..
}

最新更新