"Электронная почта: pk [String] против "Id: pk [long]

StackOverflow https://stackoverflow.com/questions/20353860

  •  25-08-2022
  •  | 
  •  

Вопрос

В некоторых примерах я вижу email:Pk[String] под User класс, но в других я вижу id:Pk[Long] (оба не назначены). Пользователь может изменить свою электронную почту столько, сколько хочет, но идентификатор не изменится, поэтому Есть ли (безопасная) причина этого?

Это было полезно?

Решение

Я не уверен, относится ли ваш вопрос NotAssigned или же email:Pk[String], но на ответ оба: не совсем. В этом посте обсуждается использование Pk: Какова цель PK Anorm?

Цель чего -то вроде case class User(id:Pk[Long] = NotAssigned, name:String) с идентификатором NotAssigned По умолчанию допускает представление модели, которая еще не сохранилась в базе данных. Позже идентификатор может быть заполнен после сохранения.

Я не уверен, почему ты когда -нибудь захочешь email: Pk[String] = NotAssigned, как электронная почта пользователя является критической информацией, при постоянном упорстве модели. Хотя, безусловно, хорошо использовать адрес электронной почты в качестве основного ключа, если вам действительно все равно (или иметь) идентификаторы. Адреса электронной почты должны на как минимум В любом случае, в качестве уникального ключа в базе данных будет установлен как уникальный ключ, так как два пользователя никогда не должны иметь одинаковую электронную почту.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top