【发布时间】: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