Tôi đang sử dụng Scala Play! khuôn khổ với Anorm để duy trì mô hình dữ liệu cho cơ sở dữ liệu. Tôi làm theo các ví dụ mã here:Cách lấy khóa chính khi lưu một đối tượng mới trong 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()
}
}
}
Đang cố gắng để mở rộng nó, tôi muốn lấy khóa chính vừa tạo và lưu trữ nó trong lớp hợp cụ thể.
Làm cách nào tôi có thể truy xuất khóa chính?
+1 Tôi cố gắng ngày hôm nay – opyate
này chỉ áp dụng nếu khóa chính là một chìa khóa tự động tăng. Nếu không, kết quả sẽ là None –
Ngoài ra, điều này không hoạt động cho 'INSERT IGNORE' nếu không có id được chèn vào. –