今天再次使用 Hibernate Enum Mapping 后,我想知道是否将其扩展一点是否是个好主意。
解释一下我的想法来自哪里:当然,我们的目标是为我们的应用程序建立一个规范化的数据模型,这通常会导致这样一个事实,即我们会得到很多包含类别、状态或类似数据之类的表。通常这些表只有很少的列(通常只有 PK 和 1 或 2 个内容列)和行。此外,这些表格的内容很少改变,有时甚至从不改变。
如果我们为此使用枚举并通过 Ordinal 或 Integer 将其映射到表(两者都使用 Hibernate,但我会说任何 ORM 都可以做到这一点),那么这两种性能不会更好(更少的连接) 和处理(Java 中的枚举可以非常优雅地使用)?
澄清一下:
表人员
ID:数字
名称:Varchar
RELATIONSHIP_STATUS_ID:数字
表 RELATIONSHIP_STATUS
ID:数字
状态:Varchar
内容人员:
1 | 约翰·多伊 | 1
2 | 玛丽·波平斯 | 2
内容关系状态
1 | 单人
2 | 已婚
现在我将转储状态表,将这两个状态放在一个枚举中,然后按序号将其映射到列。
这会是一件有意义的事情吗?如果这种设计在性能方面会更好,我会特别感兴趣。