Domanda

In alcuni esempi, vedo email:Pk[String] sotto il User classe ma in altri vedo id:Pk[Long] (entrambi non assegnati). Un utente può cambiare la propria e -mail quanto desidera, ma l'ID non cambierà così C'è un motivo (sicurezza) dietro questo?

È stato utile?

Soluzione

Non sono sicuro che la tua domanda si riferisca NotAssigned o email:Pk[String], ma a una risposta entrambi: non proprio. Questo post così discute gli usi di Pk: Qual è lo scopo del PK di Anorm?

Lo scopo di qualcosa di simile case class User(id:Pk[Long] = NotAssigned, name:String) con l'ID essendo NotAssigned Per impostazione predefinita consente ancora una rappresentazione di un modello che non è stato ancora persistito nel database. L'ID può successivamente essere compilato dopo il salvataggio.

Non sono sicuro del motivo per cui lo vorresti mai email: Pk[String] = NotAssigned, poiché l'e -mail di un utente è un'informazione critica quando si persiste nel modello. Anche se è certamente bene utilizzare l'indirizzo e -mail come chiave principale se in realtà non ti interessa (o hai) ID. Gli indirizzi e -mail dovrebbero a almeno Essere impostato come una chiave univoca nel database, comunque, dal momento che non dovrebbe mai essere possibile per due utenti avere la stessa e -mail.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top