Scala案例类在构造函数中限制为22个字段.我想超过这个限制,有没有办法用继承或组合使用案例类?
我在这里工作了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个参数的映射投影,因为需要为编译器支持每个类生成的所有代码生成元组和任意性 …
鉴于:
scala> import shapeless.nat.
_0 _10 _12 _14 _16 _18 _2 _21 _3 _5 _7 _9 natOps
_1 _11 _13 _15 _17 _19 _20 _22 _4 _6 _8 apply toInt
scala> import shapeless.ops.nat._
import shapeless.ops.nat._
Run Code Online (Sandbox Code Playgroud)
> 3分钟后,以下代码未编译/运行.为什么?
scala> Sum[_22, _22]
Run Code Online (Sandbox Code Playgroud)
另外,看看上面的REPL自动完成,_44甚至存在于无形状中?