Mer*_*ith 7 sql database scala tuples slick
我在这里工作了23个字段,最后算了.在使用外键减少31张现场表后,我一般都试图计算它们.
关于如何阅读和理解Slick的一个非常好的Faiz提供的模式代码的基本解释.
超过22个参数......
Stefan Zeigar对他在本次讨论中编写的示例代码非常有帮助,并且在Github上更直接地链接到这里
我认为以上内容足以让我开始对我的应用进行重构,以便CRUD可行.如果出现问题我会更新这个问题或者提出新的问题并让我停滞不前.事情是...
我想念用于查询的理解.我在谈论Slick的查询模板
当我使用for comprehension时遇到的问题是表...可能会有
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/??? */
}
Run Code Online (Sandbox Code Playgroud)
并且*投影不会描述我想在查询中返回的所有内容.
通常简单的理解Slick查询模板看起来像这样:
def someQueryTemplate = for {
m <- Monsters
} yield m
Run Code Online (Sandbox Code Playgroud)
并且m将是一个Int而不是我想要的整个对象,因为我声明该表是一个Table[Int] 因为我无法构造22个参数的映射投影,因为需要为编译器支持每个类生成的所有代码生成元组和任意性
所以...... 简而言之:
几天前回答类似问题后,我偶然发现了这个问题。这是问题的链接。狡猾的错误:类型 TupleXX 不是 scala 包的成员 (XX > 22)
要回答这里的问题,您可以使用嵌套元组来解决 22 列的限制。当我自己解决问题时,以下帖子非常有帮助。https://groups.google.com/forum/#!msg/scalaquery/qjNW8P7VQJ8/ntqCkz0S4WIJ
另一种选择是使用即将发布的 Slick 版本,它使用 HList 来消除列数限制。这个版本的 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
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |