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")