prueba - escalas de autismo
¿Cuál es el propósito de Pk de Anorm? (1)
Estoy escribiendo la aplicación Playframework 2.0 utilizando Scala y Anorm para acceder a db.
Actualmente estoy usando Pk[Long] para los campos de id y me preocupa que get necesite una llamada adicional para acceder al valor real. Así que empiezo a utilizar los campos de id for id y todo funciona perfectamente.
¿Para qué sirve Pk , y debería usarlo en lugar de tipos simples? ¿ Pk me da características / beneficios adicionales sobre los tipos simples?
Pk permite especificar una clave primaria tipada.
Además, supongamos que tienes un modelo artificial como este:
case class MyModel(id: Pk[Long], foo: String)
Usted tiene la ventaja de construir una instancia de su modelo con:
MyModel(anorm.NotAssigned, "notKnownAtRuntime")
... si su base de datos es responsable de generar sus claves, o de lo contrario:
MyModel(anorm.Id(123L), "knownAtRuntime")