Sto usando Scala Play! framework con Anorm per mantenere il modello di dati nel database. Ho seguito il codice di esempio here:Come recuperare la chiave primaria quando si salva un nuovo oggetto in 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()
}
}
}
cercando di espandere su di esso, voglio recuperare la chiave primaria appena creato e memorizzarlo nella classe caso.
Come posso recuperare la chiave primaria?
+1 Ho provato questo oggi – opyate
Questo vale solo se la chiave primaria è una chiave incremento automatico. In caso contrario, il risultato sarà Nessuno –
Inoltre, questo non funziona con 'INSERT IGNORE' se non è stato inserito alcun ID. –