我一直在评估Play框架并学习Scala,这很有趣。从Java转向Scala需要做出相当大的努力,但现在我已经成为它的粉丝。
我已经使用JPA映射了一个相当大的数据库,我打算继续使用这个代码(与Hibernate一起),但是这不是Scala最好或推荐的方法。因此,我开始使用SLICK映射一些表格,但在走得太远之前,我意识到我会遇到Scala对情况类和函数参数的限制(不超过22个)的问题。
我觉得这完全令人困惑,一个现代ORM居然会有这种限制。我并不反对Scala有这种限制——毕竟谁想要将22个参数传递给一个函数呢。所以我的问题是:为什么要设计一个具有此限制的库呢?它应该被设计成映射到常规类,甚至可以使用反射来完成工作,我也不在乎。
我看到了对此的解决方法,需要拆分情况类并使用隐式转换重新组合。但这只是一个hack。
我猜如果我想继续使用Play,那我应该转到Java并使用JPA。
我已经使用JPA映射了一个相当大的数据库,我打算继续使用这个代码(与Hibernate一起),但是这不是Scala最好或推荐的方法。因此,我开始使用SLICK映射一些表格,但在走得太远之前,我意识到我会遇到Scala对情况类和函数参数的限制(不超过22个)的问题。
我觉得这完全令人困惑,一个现代ORM居然会有这种限制。我并不反对Scala有这种限制——毕竟谁想要将22个参数传递给一个函数呢。所以我的问题是:为什么要设计一个具有此限制的库呢?它应该被设计成映射到常规类,甚至可以使用反射来完成工作,我也不在乎。
我看到了对此的解决方法,需要拆分情况类并使用隐式转换重新组合。但这只是一个hack。
我猜如果我想继续使用Play,那我应该转到Java并使用JPA。