arg*_*g20 0 java sql database jpa database-schema
我正在研究Java Web应用程序.对于身份验证,我要求用户输入他的电子邮件和密码.现在,我正在使用JPA 2,这可能不是那么重要.
如果电子邮件是Users表的关键,那么它将简化我的生活.我可以做一个简单的事情:
User selected = em.find(User.class, userEmail);
Run Code Online (Sandbox Code Playgroud)
请参阅?,此外,每个电子邮件地址都是唯一的,它没有空格等.现在,没有人这样做,我猜这是有原因的.我也怀疑,我的意思是,它是varchar等.但你认为这是一个好主意吗?如果没有,为什么?这必须是一个很好的理由,因此权衡不值得.数字键总是最好的,但在这里我发现自己一遍又一遍地处理用户的电子邮件,并且一直通过电子邮件搜索它们,除了连接列等之外从未真正使用过id.
想到的最大问题是用户的电子邮件地址会随着时间而改变.如果您设置一个系统,其中电子邮件地址是主键,那么稍后更改电子邮件地址是一种巨大的痛苦 - 您必须将更改传播到所有子表,这将要求所有外键约束都可以推迟.
| 归档时间: |
|
| 查看次数: |
294 次 |
| 最近记录: |