В некоторых примерах я вижу email:Pk[String]
под классом User
, но в других случаях я вижу id:Pk[Long]
(оба не назначены). Пользователь может изменить свой адрес электронной почты столько, сколько захочет, но идентификатор не изменится, так что есть причина (безопасность)?"email: Pk [String]" vs "id: Pk [Long]"
ответ
Я не уверен, что ваш вопрос относится к NotAssigned
или email:Pk[String]
, но к ответу: на самом деле. Это SO сообщение обсуждает использование Pk
: What is purpose of anorm's Pk?
Цель нечто вроде case class User(id:Pk[Long] = NotAssigned, name:String)
с ид быть NotAssigned
по умолчанию позволяет получить представление модели, которая не сохранялось в базе данных еще. После этого идентификатор может быть заполнен после сохранения.
Я не уверен, почему вы когда-либо захотите email: Pk[String] = NotAssigned
, так как электронное письмо пользователя является важной частью информации при сохранении модели. Хотя, конечно, правильно использовать адрес электронной почты в качестве первичного ключа, если вам действительно не нужны (или есть) идентификаторы. Адреса электронной почты должны быть в как минимум быть установлены как уникальный ключ в базе данных, так или иначе, поскольку для двух пользователей не должно быть одинакового адреса электронной почты.
- 1. Django queries - id vs pk
- 2. присвоение int Pk [Long]
- 3. Преобразование Pk [Long] в опцию [Long] в форме
- 4. JPA @OneToMany с составным PK-PK/FK перекрытием
- 5. Hibernate OneToMany, natural PK
- 6. JPA Map Entity с PK на объект с композитным PK
- 7. JPA вложенного композиционный PK
- 8. Получите значение PK, передав значение, отличное от PK, используя EntityFramework
- 9. Замена GUID PK с INT IDENTITY PK
- 10. AutoIncrement PK приращением irregularry
- 11. Создание Title/Slug на основе PK ID
- 12. Резервирование id (pk) в sqlite для записи
- 13. ASP.NET MVC/EF - вручную назначить ID (PK)
- 14. Создание непоследовательного ID/PK для модели Django
- 15. ВМЕСТО TRIGGER для уникального PK ID
- 16. Как обновить набор форм новым pk id?
- 17. JPA: Как установить INSERT PK в MAX (PK) + 1
- 18. Значение значения идентификатора Id (PK) auto и manual
- 19. Правильный способ создания составного PK
- 20. Hibernate. Generic Composite PK issue
- 21. EF PK FK отображение без скалярных свойств PK
- 22. SymmetricDS pk alternative
- 23. PK Кендо Сетка Ряд
- 24. Как использовать @TableGenerator аннотацию для не-PK ID
- 25. SQL проблема PK сервер
- 26. Внутреннее соединение Int PK Vs Guid PK internal Присоединиться к SQL Server. План выполнения
- 27. Nhibernate Guid с PK MySQL
- 28. cassandra field string vs. long
- 29. Удалить pk в loopback swagger
- 30. Hibernate бросает ошибку нарушения PK
Обратите внимание, что с версии 2.3.0 'Pk [A]' устарел, и вместо этого следует использовать параметр [A] '. –