【问题标题】:playframework scala slick insert query without autoincrement没有自动增量的playframework scala slick插入查询
【发布时间】:2018-02-17 01:25:27
【问题描述】:

早安,

我有以下代码sn-p:

def createResponsibleProcessTemplates(processTemplateId: Int, username: String): Future[Int] = db.run {
    println("Create Responsible TemplateId: " + processTemplateId + " UserName: " + username)
    (responsibleProcessTemplates
      returning responsibleProcessTemplates.map(_.processTemplateId)
      ) += ResponsibleProcessTemplateModel(processTemplateId, username)
  }

我的模特是:

package models

import play.api.libs.json.Json

case class ResponsibleProcessTemplateModel(
                                  processTemplateId: Int,
                                  username: String)

object ResponsibleProcessTemplateModel {
  implicit val responsibleProcessTemplateFormat = Json.format[ResponsibleProcessTemplateModel]
}

特征看起来像这样:

trait ResponsibleProcessTemplateComponent {
  self: HasDatabaseConfigProvider[JdbcProfile] =>

  import profile.api._

  class ResponsibleProcessTemplate(tag: Tag) extends Table[ResponsibleProcessTemplateModel](tag, "Responsible_ProcessTemplates") {
    def processTemplateId: Rep[Int] = column[Int]("processTemplateId")

    def username: Rep[String] = column[String]("username")

    def * : ProvenShape[ResponsibleProcessTemplateModel] = (processTemplateId, username) <> ((ResponsibleProcessTemplateModel.apply _).tupled, ResponsibleProcessTemplateModel.unapply)
  }

  val responsibleProcessTemplates: TableQuery[ResponsibleProcessTemplate] = TableQuery[ResponsibleProcessTemplate]
}

它应该在不生成自动增量 ID 的情况下将一些数据插入到数据库表中。

我没有收到错误,但数据未存储在数据库中。

感谢您的帮助。

【问题讨论】:

    标签: scala playframework playframework-2.0 slick-3.0


    【解决方案1】:

    我找到了解决办法!

      def createResponsibleProcessTemplates(processTemplateId: Int, username: String): Future[Int] = {
         db.run(responsibleProcessTemplates.map(x => (x.processTemplateId, x.username)) += (processTemplateId, username))
     }
    

    【讨论】:

    • @Fellix 插入后如何在此处获取自动递增的 id?
    • 在这种情况下没有自动增量。
    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 2016-04-06
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    相关资源
    最近更新 更多