【问题标题】:Which is best data access options available for Play framework with Scala and PostgreSQL?哪个是适用于 Scala 和 PostgreSQL 的 Play 框架的最佳数据访问选项?
【发布时间】:2015-04-13 03:22:44
【问题描述】:

我们有早期的经验和大量可重用的代码/组件,主要是使用 Spring MVC、Hibernate、PostgreSQL 数据库完成的。

但最近我们计划开始一个新项目。我们决定将 Play 框架与 Scala 一起使用。我们是 Scala 的 Play 框架中的新手。因此,我们无法决定使用什么 ORM(对象关系映射)框架。由于有很多可重用的代码,我们希望选择 Hibernate。

我们发现关于 Hibernate 的可怕词是“JPA 在 Scala 中使用 Hibernate 并玩它可能不是最好的方式,它应该被视为遗留并弃用”。我们真的很困惑该用什么?

在寻找可能性时,我们发现了 Anorm 和 Hibernate。可能存在其他一些我们还不知道的框架。

那么请建议我们在 Scala 和 PostgreSQL 的 Play 框架中使用什么?

提前致谢!

【问题讨论】:

    标签: hibernate postgresql scala playframework persistence


    【解决方案1】:

    如果你肯定想要一个 ORM,那么 JPA 可能是你要走的路。这将迫使您拥有可变的域模型类等,但也许这是您愿意接受的权衡。 (就我个人而言,我不会)

    如果您愿意接受与数据库通信的其他方式,有一些有趣的选择:

    这是比较不同库的相当不错的博文:http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/

    【讨论】:

    • “JPA 将把 Play Framework 中的 anorm 替换为 ORM”。如果要在 Play 中替换 Anorm,它将由 Slick 替换,并且 Anorm 与 ORM 方法无关。
    • 蒂莫。有点,但您将无法使用案例类和 Scala 中的所有优点。您一定在想 JPA 将在 Play 的 Java 端取代 Ebean。
    【解决方案2】:

    看看 Skinny ORM。

    http://skinny-framework.org/documentation/orm.html

    http://blog.seratch.net/post/110711051753/skinny-orm-for-play-framework

    Skinny ORM 不仅受到 Rails ActiveRecord 的高度启发,而且足够灵活,因为它建立在 ScalikeJDBC 库之上,后者是一个轻薄但功能强大的 JDBC 包装器。

    http://scalikejdbc.org/

    【讨论】:

      【解决方案3】:

      ebean 提供了 playframework,它看起来像 JPA 但不是 JPA,您可以进行简单的查询和高效(流式传输,部分更新......)

      【讨论】:

        猜你喜欢
        • 2010-10-14
        • 2011-12-01
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多