scala - 在 Slick 2.0 中插入后返回 AutoInc ID

标签 scala playframework-2.0 slick play-slick

我曾到天涯海角寻找这个问题的答案。没有太多关于 slick 2.0 的信息。下面是我的 Addresses 模型的代码,我如何让 create 方法在插入后返回 id?

package models
import play.api.Play.current
import play.api.db.slick.Config.driver.simple._
import play.api.db.slick.DB

    object Addresses{
      val DB_URL:String = "jdbc:h2:mem:fls-play"
      val DB_driver:String = "org.h2.Driver"
      class Addresses(tag: Tag) extends Table[(String, String, String, String, String)](tag, "ADDRESSES"){
       def id = column[Int]("ID", O.PrimaryKey, O.AutoInc)
       def city = column[String]("CITY")
       def stateName = column[String]("STATE_NAME")
       def street1 = column[String]("STREET1")
       def street2 = column[String]("STREET2")
       def zip = column[String]("ZIP")

       def * = (city, stateName, street1, street2, zip)
      }
      val addresses = TableQuery[Addresses]

      def create(city:String, stateName:String, street1:String, street2:String, zip:String) {
        DB.withSession{ implicit session =>
           addresses += (city, stateName, street1, street2, zip)
        }
      }
    }

谢谢!

最佳答案

尝试

(addresses returning addresses.map(_.id)) += (city, stateName, street1, street2, zip)

没有测试过,但显示 here

关于scala - 在 Slick 2.0 中插入后返回 AutoInc ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21894377/

相关文章:

scala - Slick:结合 SQL 和查询 API

postgresql - Slick 3批更新

scala - 玩! 2.0框架多Module项目

scala - 如何在 Graphx 中并行 Prims 算法

javascript - 动态获取Web套接字URL

playframework - 在路由中传递参数值?

scala 2.10,akka-camel TCP套接字通信

scala - 如何使用 AKKA 动态创建远程角色并控制它们

java - 当 Json 在 Play Framework 中太大时,Json 为 null

mysql - Slick 为 MySQL (MyISAM) 生成错误的 SQL