18

我正在为我的公司在 Lift 中创建一个小型应用程序。我是 Scala/Lift 的新手,所以我利用这个机会练习。现在,我有一个关于使用什么 ORM 系统的问题。

一方面,Mapper 是 Lift 默认值。另一方面,我读到它在某些领域并不好,将被 Record 取代(还没有很好的文档记录,所以像我这样的新用户很难遵循)。

与 Mapper 相反,我们有 JPA:标准 Java,经过测试且健壮的 ORM,具有像 Hibernate 这样的受信任实现,但不是完全“scala-ish”,并且由于 Mapper 与 Lift 的集成,您会失去默认提供的功能。

我在邮件列表中读到了一些断言,即 JPA 正在成为 Lift 的方式,但这似乎并不是一个普遍的观点。有人可以为这件事带来一些启示吗?

谢谢!

4

2 回答 2

8

现在我面临同样的困境:) 考虑到 Mapper/Record 并不比 JPA/Hibernate 更 Scalish(例如,在 Mapper 和 Record 中,您都使用可变实体)。检查片段在 Hibernate 中使用“不可变”的 Scala 实体以及在 Hibernate映射 scala 的选项,以了解如何以非常简单的方式使用 Hibernate。因此,如果您已经了解 Hibernate 并且对它感到满意,那么您最好采用这种方式。否则对于小型项目,您可以尝试 Mapper。

于 2010-01-30T14:31:52.103 回答
3

这取决于你需要什么。如果您有一个大量使用继承和一对多关系的模型,那么使用 JPA 可能会更好。

但是,如果您想要快速周转,Mapper 是您的最佳选择。Mapper/Crudify 是一对很棒的脚手架,这种力量很难被击败。

于 2010-01-29T20:37:02.277 回答