【问题标题】:Get auto increment key in scalaquery在scalaquery中获取自动增量键
【发布时间】:2012-10-24 16:41:33
【问题描述】:

我想使用 scalaquery / slick 在代表 1:n 关系的 2 个表中插入行。

表格定义如下:

object CompanyBaseTable extends Table[CompanyBaseTableEntry]("company") {
  def id = column[Int]("id", O PrimaryKey, O AutoInc)
}

object ProductCatalogueTable extends Table[ProductCatalogueEntry]("product_catalogue") {
 def cid = column[Int]("id", O NotNull)
 def pid = column[Long]("pid", O NotNull)
 def company = foreignKey("company_fk", cid, CompanyBaseTable)(_.id)
}

我想在一个事务中插入 1:n 关系,但我不知道如何使用 ScalaQuery 来实现。在 JDBC 3 中,您可以从 statement 获取生成的 ID,但我看不到该语句在 ScalaQuery API 中暴露的位置,我也看不到直接访问此信息的方法。

【问题讨论】:

  • 您是否检查了您保存的公司对象是否填充了 id 字段?
  • 这是一个不可变的案例类,因此我对此表示怀疑。

标签: scala jdbc scalaquery


【解决方案1】:

Scala-query 现在是 SLICK。在 github 上提出了一个 issue,但它似乎已修复。这是commit,如果你想看看的话。

这个答案还告诉你如何获取 id https://stackoverflow.com/a/13114949/152601

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 2013-11-04
    • 2015-04-20
    • 2019-02-21
    • 2021-12-08
    • 2010-11-25
    • 2015-01-10
    • 2020-02-17
    相关资源
    最近更新 更多