哪个是Scala和PostgreSQL的Play框架可用的最佳数据访问选项?

时间:2015-02-12 11:47:01

标签: hibernate postgresql scala playframework persistence

我们早期的经验和许多可重用的代码/组件大多使用Spring MVC,Hibernate,PostgreSQL数据库完成。

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

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

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

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

提前致谢!

3 个答案:

答案 0 :(得分:17)

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

如果您愿意接触数据库的其他方式,那么有一些有趣的选择:

这是一篇非常好的博客文章,比较了不同的库:http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/

答案 1 :(得分:1)

看一下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/

答案 2 :(得分:0)

ebean提供了与JPA类似的playframework,但不是JPA,您可以进行简单的查询和有效的操作(流,部分更新...)