Morphia vs Spring Data Mongo

时间:2016-06-02 07:07:39

标签: java morphia spring-mongodb

我正在使用Java语言。我必须使用ORM框架和MongoDb作为Database.I有两个选项Morphia或Spring Data Mongo支持。到目前为止我能够获得详细信息,已经发现Spring Data Mongo更好使用自: 1)它提供了更好的DAO开箱即用的内置类。 2)它有更大的社区基础。

两者之间是否有基于性能的差异。如果哪个更好,哪个条件更好。我也有多租户的要求。经过一点点搜索后我发现在Spring Data Mongo中有一个非常简单的自定义实现来做相同。但在Morphia中有点困难。在Morphia diificult(我们需要编写大量锅炉板代码)中实现多租户?

2 个答案:

答案 0 :(得分:7)

Morphia是要走的路。非常稳定,非常好Play集成,如果您需要更大的扭矩,可以访问所有Mongo驱动程序功能。参考分辨率,实体嵌入正在按预期工作。您也可以获得生命周期注释,这对于样板持久性代码非常有用。

由于hades项目,我个人喜欢spring-data ...你不需要实现DAO。您只需编写界面,弹簧数据就会自动提供给您。然而,在我的初始试验中,Spring Data Mongodb实现似乎有些错误。如果您有艰苦的约会并且正在研究生产质量的产品,那么选择Morphia可能是明智的。

获取更多信息和实施示例:mongodb-java-comparison/

答案 1 :(得分:7)

我一直在使用Spring数据,我想我觉得它在成熟度方面有些滞后。

它对所有实际目的都有好处,但是mongo提供的功能是它的全部荣耀,Spring-data很难将它作为驱动程序映射到聚合时。

就性能而言,Spring-data并不会落后于imo。

有时我会遇到奇怪的行为。 Some他们的注释默默无法在某些地方工作,而对于我的生活,我无法弄清楚为什么?

但作为一个整体实现,它提供了一个强大的结构,您的应用程序可以在其上发展,它非常有用。如果您来自SQL背景也很容易,因为您可以在jdbcTemplate和mongoTemplate之间绘制一个并行(尽管需要谨慎)

我认真考虑过使用Morphia,但是因为Spring-data提供了更加结构化的方式,所以放弃了这个想法。看起来像Morphia我们必须自己实现一些有利有弊的结构,但你通常想避免这样做。由于存在锅炉铭牌代码的风险,因此您的学习曲线存在学习曲线。新成员的结构。

在专业方面,我确信Morphia提供了更多的可扩展性,使您能够享受从mongo功能中吸取大部分功能的能力。与Spring数据相比,它也是轻量级的。