Pergunta

Em alguns exemplos, estou vendo email:Pk[String] debaixo de User classe, mas em outros eu vejo id:Pk[Long] (ambos não atribuídos). Um usuário pode alterar o e -mail o quanto quiser, mas o ID não vai mudar tão Existe uma razão (de segurança) por trás disso?

Foi útil?

Solução

Não tenho certeza se sua pergunta se refere a NotAssigned ou email:Pk[String], mas para uma resposta: na verdade não. Este post discute os usos de Pk: Qual é o objetivo do PK de Anorm?

O objetivo de algo como case class User(id:Pk[Long] = NotAssigned, name:String) com o ID sendo NotAssigned Por padrão, permite uma representação de um modelo que ainda não foi persistido no banco de dados. O ID pode mais tarde ser preenchido após salvar.

Não sei por que você iria querer email: Pk[String] = NotAssigned, como o email de um usuário, é uma informação crítica ao persistir no modelo. Embora seja certamente bom usar o endereço de email como chave primária se você realmente não se importa (ou tiver) IDs. Endereços de e -mail devem em pelo menos De qualquer forma, seja definido como uma chave única no banco de dados, pois nunca deve ser possível que dois usuários tenham o mesmo email.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top