¡Estoy usando Scala Play! marco con Anorm para persistir en el modelo de datos a la base de datos. Seguí el ejemplo de código here:Cómo recuperar la clave principal al guardar un nuevo objeto en Anorm
case class Bar(id: Pk[Long], name: String)
object Bar {
val simple = {
get[Pk[Long]]("id") ~
get[String]("name") map {
case id~name => Bar(id, name)
}
}
def findAll(): Seq[Bar] = {
DB.withConnection { implicit connection =>
SQL("select * from bar").as(Bar.simple *)
}
}
def create(bar: Bar): Unit = {
DB.withConnection { implicit connection =>
SQL("insert into bar(name) values ({name})").on(
'name -> bar.name
).executeUpdate()
}
}
}
Tratando de ampliar en él, quiero recuperar la clave primaria que acaba de crear y almacenarlo en la clase de caso.
¿Cómo puedo recuperar la clave principal?
+1 Probé esto hoy – opyate
Esto sólo se aplica si la clave primaria es una clave de incremento automático. Si no, el resultado será None –
Además, esto no funciona para "INSERT IGNORE" si no hay una identificación insertada. –