Spring MVC和Mongodb之间交互的ORM选择

时间:2012-08-01 13:32:58

标签: hibernate mongodb spring-mvc morphia

我有一堆XML文件,我已将其解析为离散字段。我已经知道了一个Spring MVC应用程序,它显示已解析的字段。我不想要一个可以将这些字段发送到MongoDB以及查询数据库的ORM Spring MVC应用程序方面。我浏览了ORM,但是想了解哪些ORM用于将SpringMVC应用程序与MongoDB集成,无论是Morphia还是Java Mongo Driver,还是Hibernate都可以使用MongoDB?

由于

2 个答案:

答案 0 :(得分:1)

我在生产环境中使用了Morphia,如果你有一个基于maven的版本,它很容易包含。只需将此代码段添加到您想要的构建中:

http://code.google.com/p/morphia/wiki/Dependencies#Through_Maven

然而,在使用它之后,我会说,如果我能再次使用它,那么我将使用Spring Data(支持Mongo)或使用良好的基本DAO模式直接使用本机Mongo驱动程序。

我的理由如下: 1)Morphia没有像以前那样积极发展。 2)O / R映射器一开始很棒,但是你会遇到许多你希望拥有的新功能。例如,通常的做法是,当您使用新字段读取旧行时,您希望升级旧行的数据模型发生更改。使用本机驱动程序非常简单,但一旦抽象它就不那么简单了。 3)Morphia还有一个已知的问题(可能是设计决策),它会与主要父母一起提取ref集合。例如,对于拥有邮箱的User对象,它会提取所有邮件并导致许多性能问题。你可以通过延迟加载模式解决这个问题,但从长远来看再次遇到麻烦。

我的建议: 1)如果你必须使用一个O / R映射器并且你已经在使用Spring,为什么不使用具有更大的开发人员社区(以及一家大公司)的spring数据。 2)如果您正在构建一个更大的项目,请使用本机驱动程序。

对于较小的项目,Morphia仍然是一个不错的选择,确实可以提高开发人员的工作效率。请记住它的缺点。

希望有所帮助。

答案 1 :(得分:0)

如果您已经在Spring,Spring Data - MongoDb是更好的选择。