Hibernate 使用Scala和PostgreSQL的Play framework的最佳数据访问选项是什么?

Hibernate 使用Scala和PostgreSQL的Play framework的最佳数据访问选项是什么?,hibernate,postgresql,scala,playframework,persistence,Hibernate,Postgresql,Scala,Playframework,Persistence,我们有早期的经验和大量可重用的代码/组件,主要是使用SpringMVC、Hibernate和PostgreSQL数据库完成的 但最近我们计划开始一个新项目。我们决定在Scala中使用Play框架。我们是使用Scala的新游戏框架。因此,我们无法决定使用什么ORM(对象关系映射)框架。由于有许多可重用代码,我们希望选择Hibernate 我们发现关于Hibernate的可怕词汇是“JPA在Scala中使用Hibernate和play它可能不是最好的方式,应该被认为是遗留的,不推荐使用”。我们真的很

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

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

我们发现关于Hibernate的可怕词汇是“JPA在Scala中使用Hibernate和play它可能不是最好的方式,应该被认为是遗留的,不推荐使用”。我们真的很困惑该用什么

在寻找可能性的过程中,我们发现了阿诺姆和冬眠。可能还有其他框架存在,我们还不知道

所以,请建议我们如何使用Scala和PostgreSQL的Play框架


提前谢谢

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

如果您愿意以其他方式与数据库对话,有几个有趣的选项:

  • anrom-接近SQL,但比直接使用JDBC好得多-
  • slick-“函数关系映射”,类型安全查询-
  • 激活-“软件事务内存”和可插拔持久性后端-

下面是一篇比较不同库的不错的博文:

看看Skinny ORM

Skinny ORM不仅受到Rails ActiveRecord的高度启发,而且非常灵活,因为它是基于ScalikeJDBC库构建的,ScalikeJDBC库是一个精简但功能强大的JDBC包装器


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

“JPA将取代Play Framework中的anorm作为ORM”。如果阿诺姆在比赛中被替换,那将是斯里克,而阿诺姆与ORM方法无关。有点像,但是你不能利用Scala中的case类和所有这些优点。您一定认为JPA将在Java方面取代Ebean。