Scala 类型安全平台中的光滑和异常
我已经开始使用Scala,Play框架,目前我正在从Typesafe反应式平台中发现其他技术。然而,我只是对要使用的持久层技术有点困惑。有来自Play Framework的Anorm,它是被动平台的一部分,还有Slick,它也是平台的一部分。未来是否有计划在整个平台中选择其中一种(例如,离开Anorm,推荐Slick作为主要的Scala DB技术)?有没有可能说其中一个项目目前正处于更积极的发展之中,前景更加光明?或者Typesafe是否建议将哪一个用于Typesafe反应式平台Scala 类型安全平台中的光滑和异常,scala,playframework,slick,anorm,typesafe,Scala,Playframework,Slick,Anorm,Typesafe,我已经开始使用Scala,Play框架,目前我正在从Typesafe反应式平台中发现其他技术。然而,我只是对要使用的持久层技术有点困惑。有来自Play Framework的Anorm,它是被动平台的一部分,还有Slick,它也是平台的一部分。未来是否有计划在整个平台中选择其中一种(例如,离开Anorm,推荐Slick作为主要的Scala DB技术)?有没有可能说其中一个项目目前正处于更积极的发展之中,前景更加光明?或者Typesafe是否建议将哪一个用于Typesafe反应式平台 谢谢。这是一个
谢谢。这是一个相当主观的问题,但可以找到一些客观数据:
- 来自主播放框架github存储库的anorm
- Slick是一个较新的项目
- 据说PlayFramework计划在未来迁移到Slick(来源:第20张幻灯片) Slick将是中的官方数据库连接器 播放/类型安全堆栈
个人意见 在过去的两年里,我一直在scala中积极从事SQL项目的工作,我的团队已经从Anorm转移到Slick来开发新项目。我们还考虑在现有的代码库中从Anorm迁移到Slick。
部分原因来自个人品味,部分原因来自上述客观数据,这让我认为Anorm将逐步停产。它们都是正在积极开发的完全不同的项目。归根结底,你到底喜欢还是不喜欢ORM?@m-z Slick不是ORMBut,它是“ORM式的”。@m-z它是一个数据持久层。它与ORMs有一些相同的概念,但一旦你开始使用它,你就会意识到它是一个完全不同的野兽。将其视为ORM会导致设计糟糕的数据层和意外行为(我凭经验说)@m-z我主要是Java EE开发人员,有JPA/Hibernate的经验,所以我仍在尝试了解Slick与经典ORM概念的区别。个人:Anorm只做了一件事,而且做得很好:解析SQL结果,没有DB假设。Slick根据类型进行了很多自动映射,但这并不适用于所有DB情况。即使持久性也需要特定的解析,然后Slick和Anorm都返回到映射本机结果集。对我来说,这取决于需要特定解析的案例的比例。如果多数是具体的,我更喜欢Anorm(更专注于目标,指纹更小)。我想知道在性能方面你会选择哪一个?或者简单地说:哪一个更快?