gpt4 book ai didi

scala - 在 Slick 3 中,如何使用映射案例类 SQL 编译插入?

转载 作者:行者123 更新时间:2023-12-04 20:39:19 24 4
gpt4 key购买 nike

要对查询进行 SQL 编译,您需要编译一个函数,该函数为每个查询参数 arg: type , Rep[type] 类型的提升参数.

我有一个案例类JobRecord和一个 TableQuery jobRecords .

因此,要插入 JobRecord 案例类实例,我需要能够说如下内容:

val qMapToId = (jobRecords returning jobRecords.map(_.id))
def ucCreate(jobRecord: Rep[JobRecord]) = qMapToId += jobRecord
val cCreate = Compiled(ucCreate _)

但当然这不会编译,因为 += 不接受 Rep,而且我也不确定 Rep[JobRecord] 是否有效。

我尝试了很多不值得展示的东西,包括在 Monomorphic Case Classes 中混音。指导。我可能几次远离解决方案。指向一个工作示例的指针会很棒!

最佳答案

你不必做任何事情,val qMapToId = (jobRecords returning jobRecords.map(_.id))在编译时(即容器启动时)生成一次语句。
Compiled替换 Parameters在新的 API 中,并在您绑定(bind)占位符以生成准备好的语句的位置进行选择、更新和(我相信)删除。对于插入语句,没有要绑定(bind)的内容,您已经有 += 的实例.

关于scala - 在 Slick 3 中,如何使用映射案例类 SQL 编译插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com