我正在为我的公司在Lift中创建一个小应用程序。我是Scala/Lift的新手,所以我要利用这个机会来练习。现在,我有一个关于使用哪种ORM系统的问题。
一方面,Mapper是Lift的默认设置。另一方面,我读到它在某些方面不好,将被Record取代(它还没有很好的文档记录,所以很难被像我这样的新用户所遵循)。
与Mapper相对的是JPA:标准Java,经过测试的健壮ORM,具有可靠的实现,如Hibernate,但不太"scala-ish“,并且由于与Lift的集成,您将失去Mapper默认提供的功能。
我在邮件列表上读到了一些断言,认为JPA正在成为Lift的发展方向,但这似乎并不是一个普遍的观点。有没有人能给这件事带来一些启发?
谢谢!
发布于 2010-01-30 04:37:02
这取决于你需要什么。如果您的模型大量使用继承和一对多关系,那么使用JPA可能会更好。
但是,如果您想要快速周转,Mapper是最佳选择。Mapper和Crudify是一对很棒的脚手架组合,这种强大的力量是无可匹敌的。
发布于 2010-01-30 22:31:52
现在我面临着同样的困境:)考虑到Mapper/Record并不比JPA/Hibernate更具伸缩性(例如,在Mapper和Record中都使用可变实体)。查看代码片段Use of "immutable" Scala entities with Hibernate和Mapping of scala's Option in Hibernate,了解如何以可伸缩的方式使用Hibernate。所以,如果你已经了解了Hibernate,并且对它很熟悉,那么你最好走这条路。另外,对于小型项目,您可以尝试Mapper。
https://stackoverflow.com/questions/2162663
复制相似问题