说一个花店有固定类型的花束
class FlowerShop{
Bouquet[] bouquets;
}
花束很少类型的花
class Bouquet{
int bouquetId;
List<Flower> flowers;
}
Flower有一些固定的属性
class Flower{
String name;
ColorEnum color;
int flowerId;
int bouquetId;
... //other properties
}
实现这一目标的合适的桌面设计是什么?
选项1 :由于Bouquet类只有bouquetId,因此只有一个表
Flowers {flowerId,bouquetId,name,color,etc,etc..}
在这里,我将不得不迭代花卉对象并使用地图bouquetId->List<Flower>
在此之后,我需要构建每个bouquetId的Bouquet对象
然后使用花束对象数组构建FlowerShop
选项2:
Flowers {flowerId,name,color,etc,etc}
Bouquets {bouquetId,flowerId}
FlowerShop {bouquetId}
我不太确定第3张桌子。只有一家花店。 我想我需要选择所有花束对象并以编程方式从花束中创建FlowerShop对象。我可以通过hibernate创建FlowerShop对象吗?
答案 0 :(得分:0)
您只能创建Flower表。
Flowers {flowerId,BouquetEnum_name,name,color,etc,etc}
对于Bouquets,您将创建一个Enum而不是一个表。因此,当你想得到花束的所有花朵时,你会将对应于某些花束的Enum放在花朵查询的WHERE子句中。那里只有一家花店吗?因此,您将以编程方式创建它,对象将由花卉列表组成,其中每个列表代表一种花束(花束的种类将在BouquetEnum上)。
我猜它似乎是你的选择1。