1

我有一个实体的 String 属性,它经常被其他实体重复 - 这将(在传统数据库中)映射到它自己的表。

例如:我可以有一个服装实体,每件衣服都有自己的对象或行。每个项目都会有一个品牌,但这个品牌(字符串)可以被许多其他服装项目重复。- 它本质上应该是一个多对一映射,尽管品牌本身并不是一个实体,它只是一个字符串。

我将如何在休眠状态下执行此操作?还是我应该为每个品牌创建一个实体并使用 ManyToOne?

任何帮助将不胜感激!

4

1 回答 1

1

我认为,就数据库规范化(尤其是3NF)而言,如果您希望列具有重复值,则应该将这些值导出到它们自己的表中并具有外键列。这样,如果其中一个值发生变化,您可以一次全部更改。

这也将允许您在 Hibernate 中使用 ManyToOne。

但是,如果这不可能,我建议使用Enum

于 2012-04-13T17:01:56.487 回答