0

我想向一些有经验的 Scala/Play 程序员寻求建议。

多年来,我一直很高兴在 Java 中使用 Play Framework 2.x。现在我想学习 Scala 版本的 Play,因为有人告诉我,使用 Scala 的 Play 比使用 Java 好得多。

语言本身给我留下了深刻的印象,我理解 Scala 和 Play 之间的联系。但是,我在采用 Scala 中使用的数据库时遇到了一些问题。

我尝试了其中的一些,最后我还是选择了 Slick,因为它在 Scala 语言方面的想法看起来最有前途。从 Java 世界开始,我习惯了 ORM,尤其是 Play Ebean。我喜欢对象图加载的想法,因此我可以从数据库加载客户实体,而不是遍历客户的合同、票证和其他实体。所有的 SQL 选择和连接都是由 ORM 为我完成的。

现在......我完全理解,Slick 不是 ORM。我可以忍受这一点。但是我想找到一些用 Play/Slick/Scala 编写的真实应用程序,这样我就可以观察使用 Slick 的最佳实践。我在互联网上能找到的都是非常基本的示例,它们连接到数据库并执行一些基本的插入/更新/删除操作。

我找不到任何使用表和其他事物之间关系的复杂示例,这比仅从一个表中保存/加载行更复杂。

关于如何学习这个的任何想法?

4

1 回答 1

1

几点——你不是学习 Scala 版本的 Play 而是学习编写 Scala

是的,关于关系映射库 - Slick,您做出了正确的选择。但是还有另一个名为 Quill 的库,我猜它还没有准备好生产,但看起来比 Slick 先进得多。

https://github.com/getquill/quill

我有一些使用 Slick 和 Play 的基本示例。虽然我没有进行复杂的连接,但这里有一个示例可能对您有所帮助!

https://github.com/joesan/plant-simulator/blob/master/app/com/inland24/plantsim/services/database/DBSchema.scala

如果您是 Scala 新手,我建议您在进入 Play、Slick 和其他基于 Scala 的库之前先学习该语言。

于 2017-12-14T14:06:11.617 回答