Pregunta

En algunos ejemplos, estoy viendo email:Pk[String] bajo la User clase pero en otros veo id:Pk[Long] (ambos no asignados). Un usuario puede cambiar su correo electrónico tanto como desee, pero la identificación no cambiará así ¿Hay una razón (de seguridad) detrás de esto?

¿Fue útil?

Solución

No estoy seguro de si tu pregunta se refiere a NotAssigned o email:Pk[String], pero a una respuesta a ambos: en realidad no. Esto así Post analiza los usos de Pk: ¿Cuál es el propósito de la PK de Anorm?

El propósito de algo como case class User(id:Pk[Long] = NotAssigned, name:String) con la identificación siendo NotAssigned Por defecto, permite una representación de un modelo que aún no se ha persistido en la base de datos. La identificación se puede completar más tarde después de guardar.

No estoy seguro de por qué alguna vez querrías email: Pk[String] = NotAssigned, como correo electrónico de un usuario, es una información crítica cuando persiste el modelo. Aunque ciertamente está bien usar la dirección de correo electrónico como la clave principal si realmente no le importa (o tiene) ID. Las direcciones de correo electrónico deben en al menos Se establece como una clave única en la base de datos, de todos modos, ya que nunca debería ser posible que dos usuarios tengan el mismo correo electrónico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top