我一直在评估 Play 框架并学习 Scala,这很有趣。来自 java,迁移到 Scala 需要相当多的精神体操,但我现在是一个粉丝。
我已经使用 JPA 映射了一个相当大的数据库,我打算继续使用这段代码(使用休眠),但这不是 Scala 的最佳或推荐方法。所以我开始使用 SLICK 映射一些表,但在走得太远之前,我意识到我会遇到 Scala 对案例类和函数参数的限制(不超过 22 个)的问题。
我发现现代 ORM 会有这种限制,这完全令人困惑。我对 Scala 有这个限制没有问题——毕竟谁想将 22 个参数传递给一个函数。所以我的问题是:为什么要设计一个有这个限制的库?当然它应该被设计为映射到常规类?我不在乎它是否甚至使用反射来完成工作。
我已经看到了需要拆分案例类并使用隐式转换重新组合的解决方法。但这只是一个黑客。
我想如果我想继续使用 Play,那么我应该切换到 Java 并使用 JPA。