我正在研究Java Web應用程序。對於身份驗證,我需要用戶輸入他的電子郵件和密碼。現在,我正在使用JPA 2,這可能不是那麼重要。
如果電子郵件是用戶表的關鍵,那麼這將簡化我的生活。我可以做一個簡單:數據庫設計:電子郵件作爲表的ID
User selected = em.find(User.class, userEmail);
見?而且,每個電子郵件地址是唯一的,它有沒有空格等。現在,沒有人這樣做,我猜是有原因的。我也有疑問,我的意思是,它是varchar等,但你認爲這是個好主意嗎?如果不是,爲什麼?它必須是一個很好的理由,這樣的交易是不值得的。 數字鍵始終是最好的,但在這裏我發現自己處理用戶的電子郵件一遍又一遍,並通過電子郵件的所有時間尋找他們,從來沒有真正使用id除了連接列等
我認爲這可能是因爲我沒有想太多,我可能有成千上萬的用戶和毫秒的聯接,並且一個varchar鍵和一個數字鍵會導致很大的空間浪費,但是有沒有其他原因? – arg20
mmmm。我只是回答自己。主鍵不應該改變,用戶可以更改他的電子郵件。我想這是最大的原因。我應該刪除我的問題還是留給其他人看,以防萬一他們有這個疑問 – arg20
在此處留下它 - 下面顯示的答案將有助於其他人。 – AbdullahC