我有一个哲学问题。
几年来,我一直是 Play Framework for Java 的非常满意的用户。现在我正在尝试深入研究 Scala 和函数式编程。在基于 Java 的游戏中,我一直在使用 Ebean,因此根据 Play 文档,我扩展了 Ebean 模型类并实现了自己的模型。在每个模型中,我声明了一个 Finder 类型的静态变量,以便调用查询。所有这些都记录在案并且运行良好。
然而,在基于 Scala 的 Play (v2.5.x) 中,没有太多关于持久层的文档。好的,我知道 Play Slick 有一个推荐,因为它使用了函数式编程的思想。我对此感到有点兴奋,但几乎没有关于如何使用它的文档。我找到了如何启用 Slick、如何配置数据源和数据库服务器以及如何将数据库注入控制器的方法。还有一个关于如何在 db 上调用简单查询的非常小的示例。
问题是:如何实际使用 Slick?我研究了一些第三方教程和博客,似乎有多种方法。
1)如何定义模型?看来我应该使用案例类来定义模型本身。比我应该定义类扩展表来定义列及其属性?
2) 项目结构是什么?我应该为每个模型创建新的 scala 文件吗?按照 Java 的约定,我应该,但有时我会在一个 scala 文件中看到所有模型(如 Python Django 中的)。我认为单独的文件更好。
3) 我应该创建 DAO 来操作模型吗?或者我应该创建类似服务的东西吗?代码可能非常相同。我要问的是项目的结构。
提前感谢您的任何想法