【问题标题】:JPA, Hibernate : Database SchemaJPA,休眠:数据库模式
【发布时间】:2018-03-20 10:57:39
【问题描述】:

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

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

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

所以我的问题是 - 您对用于此目的的架构有什么更好的想法吗? ;)

【问题讨论】:

    标签: database spring hibernate rest jpa


    【解决方案1】:

    我会定义一个实体 Meal,它与实体产品具有 oneToMany 关系,该产品具有“名称”、“数量”、“单位”和“价格”等属性。单位可以是“克”、“升”等。

    【讨论】:

      【解决方案2】:

      我可能会建议多份餐食,每份都是一种产品。像牛奶或汉堡这样的产品可能有营养信息,而一顿饭会有很多份不同的产品。 Serving 本质上是 Mean 和 Product 之间的关系表,但包含其他信息,例如服务大小。

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

      【讨论】:

        猜你喜欢
        • 2015-06-08
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 2015-10-27
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多