Używam Scala Play! z Anorm do utrzymywania modelu danych w bazie danych. I po przykładowy kod here:Jak odzyskać klucz podstawowy podczas zapisywania nowego obiektu w 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()
}
}
}
Próbując rozwinąć na niej, chcę odzyskać klucz podstawowy właśnie utworzony i przechowywać go w klasie przypadku.
Jak mogę odzyskać klucz podstawowy?
+1 próbowałem to dzisiaj – opyate
Dotyczy to tylko wtedy, gdy klucz podstawowy jest klucz auto przyrostu. Jeśli tak nie jest, wynikiem będzie None Brak odpowiedzi. –
To również nie działa dla 'INSERT IGNORE', jeśli nie ma włożonego identyfikatora. –