当前位置: 首页 > 面试题库 >

哪些最佳数据访问选项可用于带有Scala和PostgreSQL的Play框架?

丁嘉
2023-03-14
问题内容

我们拥有较早的经验,并且许多可重用的代码/组件大部分是使用Spring MVC,Hibernate,PostgreSQL数据库完成的。

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

我们发现关于Hibernate的可怕词汇是“
JPA在Scala中使用Hibernate玩游戏,这可能不是最好的方法,应该将其视为遗留和不推荐使用的”。我们真的很困惑使用什么?

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

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

提前致谢!


问题答案:

如果您确实需要ORM,那么JPA可能是您要走的路。这将迫使您拥有可变的域模型类等,但这也许是您愿意接受的折衷方案。(个人而言,我不会)

如果您愿意采用其他方式与数据库进行通讯,则有一些有趣的选择:

  • ANORM -关闭到SQL,但更好的方式比直接使用JDBC - https://playframework.com/documentation/2.3.7/ScalaAnorm
  • 圆滑 - “功能关系映射”,类型安全查询- http://slick.typesafe.com
  • 激活 -具有可插拔持久性后端的“软件事务存储”-http: //activate-framework.org

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



 类似资料:
  • Ehcache的2.5.x文档指出,它的标准实现提供了不依赖于索引的缓存搜索特性,并设法产生良好的性能( 该文档进一步指出,通过使用分布式缓存实现(“由Terracotta服务器阵列支持”),可以获得索引的好处。然而,似乎没有一种解决方案可以解决超过100万个元素的小型缓存,其大小足够小,不需要分发(我们的方案可以在~1Gb的缓存中容纳120万个元素)。 有没有人找到一种解决方法/解决方案来为这种

  • 本文向大家介绍vim 我可以使用哪些选项?,包括了vim 我可以使用哪些选项?的使用技巧和注意事项,需要的朋友参考一下 示例 如果您不知道应该使用哪些选项,则可能对该:options命令感兴趣。 这将打开一个列出所有Vim选项并显示其当前值的拆分。有26个部分显示您可以尝试的所有选项。 例如 在值行(例如set nowrap)上,您可以按CR切换值(如果它是二进制值)。在选项行(例如wrap lo

  • 问题内容: 我正在启动一个普通的Java SE项目,并且打算使用JPA / Hibernate。我想知道是否有人可以启发我了解在这种环境(数据访问层)中与Hibernate交互的最佳方法是什么? 问题答案: 我不确定什么是最佳方法,但是在我的工作场所中,我们大多数Hibernate交互都是基于以下文章: 不要让Hibernate窃取您的身份 和通用数据访问对象 它们向您展示如何以一种智能的方式制作

  • 想要将每个数字乘以3,如下所示 为什么会导致以下异常?我如何才能真正访问地图?

  • 如果我开始用喷雾剂开发,这会有什么影响?我还读到剧本将集成AKKA-HTTP。所以我终于在想a是不是应该不去陪玩? 谢谢你的帮助。