JPA,Hibernate:数据库架构

时间:2018-03-20 10:57:39

标签: database spring hibernate rest jpa

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

我对我的数据库架构有疑问。我正在使用Spring编写RESTful应用程序。这个想法是允许用户根据存储在DB中的产品创建自己的饮食。

所以我开始创建实体餐,其中应包含产品和这些产品的数量。看起来像这样的自然方式是使用Map。问题是,正如我所读到的,将此类映射到JSON对象存在问题,我想将其发送到客户端浏览器。我的另一个想法是存储像ProductWithQuantity这样的对象列表而不是这样的地图,但是我有点担心数据库很快会被1杯牛奶,2杯牛奶,1.1243杯牛奶等条目所淹没。

所以我的问题是 - 为了这个目的,你对架构有什么更好的想法吗? ;)

2 个答案:

答案 0 :(得分:0)

我会定义一个实体Meal,它与实体Product具有oneToMany关系,该产品具有'name','amount'和'unit'以及'price'等属性。单位可以是“gramm”,“升”等等。

答案 1 :(得分:0)

我可能会建议一份含有许多份量的膳食,每份都是单品。牛奶或汉堡等产品可能含有营养信息,而膳食则含有多种不同的产品。服务本质上是平均值和产品之间的关系表,但是包含服务大小等附加信息。

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