首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多到一个映射的Hibernate设计

多到一个映射的Hibernate设计
EN

Stack Overflow用户
提问于 2015-06-07 20:58:24
回答 1查看 43关注 0票数 0

假设有one花店,它有固定类型的花束

代码语言:javascript
运行
复制
class FlowerShop{
 Bouquet[] bouquets;
 }

花束很少有花

代码语言:javascript
运行
复制
 class Bouquet{
  int bouquetId;
  List<Flower> flowers;
   }

花有一些固定的性质。

代码语言:javascript
运行
复制
class Flower{
  String name;
  ColorEnum color;
  int flowerId;
  int bouquetId;
   ... //other properties
  }

如何设计合适的表格才能做到这一点?

选项1:由于类Bouquet只有bouquetId,所以只有一个表

代码语言:javascript
运行
复制
 Flowers {flowerId,bouquetId,name,color,etc,etc..}

在这里,我必须迭代花对象,然后使用一个映射bouquetId->List<Flower>,然后我需要构造每个bouquetId的Bouquet对象,然后用花束对象数组构造FlowerShop

备选方案2:

代码语言:javascript
运行
复制
Flowers    {flowerId,name,color,etc,etc} 
Bouquets   {bouquetId,flowerId} 
FlowerShop {bouquetId}     

我不太确定第三table.There仅仅是一家花店。我想我需要选择所有的花束对象,并以编程的方式从FlowerShop创建bouquets.Can对象,我需要hibernate来创建FlowerShop对象?

EN

回答 1

Stack Overflow用户

发布于 2015-06-07 21:10:07

您只能创建Flower表。

代码语言:javascript
运行
复制
Flowers {flowerId,BouquetEnum_name,name,color,etc,etc} 

对于花束,您将创建一个Enum而不是一个表。因此,当你想要得到一个花束的所有花,你会把与某些花束对应的Enum放在WHERE子句的flowers查询上。只有一家花店吗?因此,您将以编程方式创建它,对象将由鲜花列表组成,其中每个列表代表一种花束(花束的种类将出现在BouquetEnum上)。

我想这似乎是你的第一选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30698399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档