データベースに新しい行を挿入すると、その ID は自動インクリメント (「シリアル」) されます。挿入後にIDの値を取得するにはどうすればよいですか? 現在、次の回避策を使用しています。
inTransaction {
Schema.table.insert(new Entry(
content = "..."
))
def entries = from(Schema.table)(e => select(e) orderBy(e.id desc)).page(0, 1)
val id = entries.headOption match {
case Some(entry) => entry.id
case None => 0
}
}
簡単な方法がない場合、このブロック全体がアトミック操作になるようにするにはどうすればよいですか?