gpt4 book ai didi

sql - Scala 22param limit 试图找到一个解决方法并且仍然用于理解而不是 Slick 中的纯 SQL

转载 作者:太空狗 更新时间:2023-10-30 01:47:43 26 4
gpt4 key购买 nike

据最后统计,我在这里处理 23 个字段。在使用外键从 31 个字段的表中减少后,我通常会举手尝试计算它们。

所有好的链接

Fundamental explanation of how to read and understand Slick's schema code由一位非常优秀的 Faiz 提供。

超过 22 个参数...

Stefan Zeigar 在他编写的示例代码中提供了极大的帮助 this discussion也更直接地链接到here on Github

优秀的 Stefan Zeigar 也发布了 here在普通 SQL 查询上

这篇文章是关于什么的

我认为以上内容足以让我着手重构我的应用程序,以便 CRUD 可行。如果出现问题并使我停滞不前,我将更新此问题或提出新问题。事情是……

我怀念使用 for comprehensions 进行查询。我说的是 Slick's Query Templates

我在使用 for comprehensions 时遇到的问题是表...可能有

object Monsters extends Table[Int]("monster_table"){
// lots of column definitions
def * = id /* for a Table[Int] despite
having 21 other columns I'm not describing
in this projection/ColumnBase/??? */
}

* 投影不会描述我想在查询中返回的所有内容。

通常简单易懂的 Slick 查询模板看起来像这样:

def someQueryTemplate = for {
m <- Monsters
} yield m

m 将是一个 Int 而不是我想要的整个对象,因为我将表声明为 Table[Int] 因为由于 all the code that needs to be generated for compiler support of class generation for each tuple and arbitrariness,我无法构建 22 个参数的映射投影

所以... 简而言之:


有什么方法可以在 Slick 中使用超过 22 列的查询模板吗?

最佳答案

我几天前回答了一个类似的问题后偶然发现了这个问题。这是问题的链接。 slick error : type TupleXX is not a member of package scala (XX > 22)

要回答这里的问题,您可以使用嵌套元组来解决 22 列的限制。在自己解决问题时,以下帖子非常有帮助。 https://groups.google.com/forum/#!msg/scalaquery/qjNW8P7VQJ8/ntqCkz0S4WIJ

另一种选择是使用即将发布的 Slick 版本,它使用 HLists 来消除列数限制。这个版本的 Slick 可以从 Github 上的 Slick master 分支中提取。感谢 cvogt 指出这个选项。 https://github.com/slick/slick/blob/master/slick-testkit/src/main/scala/com/typesafe/slick/testkit/tests/MapperTest.scala#L249

关于sql - Scala 22param limit 试图找到一个解决方法并且仍然用于理解而不是 Slick 中的纯 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620394/

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