0

我已经开始使用推荐使用的 Slick 框架和代码生成器。我的问题是,在为超过 22 列的表生成代码后(我知道限制,但代码生成器让我很容易克服它),我无法再编译项目了。我收到此错误:

Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

在 Slick 3.1.0 的实际版本中,我搜索了整个互联网并没有找到解决此错误的方法。

4

2 回答 2

0

slick / shapeless "slickless" 库允许您使用 slick 并通过硬 22 列(案例类诱导)限制:

https://underscore.io/blog/posts/2015/08/08/slickless.html

于 2018-09-18T23:52:18.437 回答
0

这与元组中 22 个“事物”的 Scala 限制有关。这里有更多关于它的信息,说明为什么会这样。

不过,数据库表中的 22 列相当多,所以我建议是否可以将其拆分为多个连接表,这将是解决问题的一种方法。

或者确实等到 Typesafe 在未来版本的 Scala 中修复该问题。如果真的发生了。

于 2015-12-09T20:06:01.907 回答