私はScalaQueryを使用してPostgreSQLにアクセスしています。 Data
は、と定義されたid
という名前の自動インクリメンタルプライマリキーを持つテーブルです。私はData.insert(name, filename)
を使って新しいData
レコードを作成します。作成したばかりのレコードのid
を取得する方法はありますか? insert
メソッドは、executeUpdate
によって返されるInt値のみを返します。あなたの挿入を実行、スコープで上記のヘルパーで、その後、ScalaQueryによってちょうど挿入された自動インクリメントIDを取得する方法
val seqID = SimpleFunction.nullary[Int]("LASTVAL")
:
ありがとうございました。一見すると、このソリューションはスレッドセーフではないようです。これは問題ですか? – xiefei
スレッドセーフです。クエリはセッションコンテキスト内で発生し、LASTVALは現在のセッションの最後に挿入されたIDを保証します – virtualeyes