Question

Dans certains exemples, je vois email:Pk[String] sous le User classe mais chez d'autres je vois id:Pk[Long] (les deux non affectés). Un utilisateur peut changer son e-mail autant qu'il le souhaite, mais l'ID ne changera pas ainsi Y a-t-il une raison (de sécurité) derrière cela?

Était-ce utile?

La solution

Je ne sais pas si votre question fait référence NotAssigned ou email:Pk[String], mais à une réponse à la fois: pas vraiment. Ce post so discute des utilisations de Pk: Quel est le but du PK d'Anorm?

Le but de quelque chose comme case class User(id:Pk[Long] = NotAssigned, name:String) avec l'identifiant NotAssigned Par défaut, permet une représentation d'un modèle qui n'a pas encore été persisté dans la base de données. L'identité peut être remplie plus tard après l'économie.

Je ne sais pas pourquoi tu voudrais jamais email: Pk[String] = NotAssigned, en tant que courrier électronique d'un utilisateur est une information critique lors de la persistance du modèle. Bien qu'il soit certainement bien d'utiliser l'adresse e-mail comme clé principale si vous ne vous souciez vraiment pas d'identifices (ou de). Les adresses e-mail devraient à au moins Soyez défini comme une clé unique dans la base de données, de toute façon, car il ne devrait jamais être possible pour deux utilisateurs d'avoir le même e-mail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top