【发布时间】:2012-12-10 15:19:36
【问题描述】:
我有一张桌子Users。
我有一个自动增加的长 id 作为主 ID。现在我需要用户名也是唯一的。最佳做法是什么?
我应该只保留用户名并删除数字 id 吗?我应该以某种方式使它们都独一无二吗?你有什么推荐的?
也许还应该提到使用休眠。
【问题讨论】:
-
把用户名也作为主键怎么样?
-
您只能有一个主键,它是 1 列或多列的组合。如果用户名/id 是主键,那么您可以使用 (1,Dave) 和 (2,Dave) 之类的键,这将允许非唯一用户名。
-
我认为您使用 Hibernate 并没有什么不同;应在数据库中强制执行数据完整性。但是,您可能希望在用户名字段的
@Column注释上使用unique属性;我不相信它会有任何功能效果,但它可以作为文档。
标签: java database hibernate postgresql