【发布时间】:2016-05-13 23:43:15
【问题描述】:
我有一个业务案例,其中实体的键是复合的,我应该将它保存在数据库中还是应该添加一个自动递增的 ID 作为主键? ...添加自动递增的 ID 会给设计带来一些复杂性。
有什么理由避免使用复合键@乍一看?
我正在使用 java-hibernate-Mysql
【问题讨论】:
-
复合键非常适合对多个列进行唯一索引。添加一个唯一的 ID 不是那么多,除非这是您要查找的内容。
-
这取决于引用了多少字段,以及键入的数据类型。简单的明显示例:姓名和生日对于用户数据中的主键来说可能是唯一的,但每个引用用户的表可能不会从必须以这种方式引用用户中受益。 (免责声明:我并不是说姓名和生日是最好的主键,只是提供一个过于简单的例子。)
-
不错@Uueerdo,我正要写这些发现
标签: mysql sql database hibernate