【发布时间】:2016-01-03 22:00:18
【问题描述】:
我拥有名为 Shop 的实体和不同类型的商店(运动、服装、科技......)。该类型列表可能是预定义的。一个商店可以有多种类型。最好的表达方式是什么?
我创建了两个实体 Shop 和 Type。
@Entity
@Table(name = "store")
public class Store {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long id;
...
}
@Entity
@Table(name = "type")
public class Type {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long id;
private String name; //sport, clothes, tech...
}
我应该在这两个实体之间使用什么类型的关系?
【问题讨论】:
-
为什么一个店铺可以有多种类型?您的意思是一家商店可以销售不同“类型”的产品吗?
-
@Snusmumrikken 是的,商店可以销售不同的产品,这就是为什么商店可以有多种类型。
-
好吧,等一下。我不使用“类型”来捕捉您正在寻找的概念。我会写一个答案。
-
为什么不键入枚举?
-
@NeilStockton 如果一个商店只能有一种类型,我会选择枚举,但我不确定 ManyToMany 与枚举的关系。也许我尝试像下面建议的答案之一一样使用 Type 作为枚举。
标签: java sql hibernate postgresql jpa