何时使用 MongoDB 驱动程序/Morphia 而不是 Hibernate

问题描述 投票:0回答:2

我目前正在使用 MongoDB 和 Java,我必须决定是使用 MongoDB 的驱动程序、Morphia 还是 Hibernate。谁能告诉我Hibernate、MongoDB的Driver和Morphia的优缺点是什么?以及在什么情况下我应该使用哪个?一个小例子也很好,但并不是真的有必要。

谢谢!

java mongodb hibernate morphia
2个回答
1
投票

使用本机驱动程序:

如果您有时间学习该驱动程序总是更好。 现在来到

Mongo-Java-Driver
,使用起来非常简单。最初,像
BasicDBObject
BSONObject
这样的术语对您来说可能听起来很奇怪。一段时间后,你会发现很舒服。您可以从这个Mongo Java 驱动程序快速浏览开始。

使用ORM工具:

Spring Data、Kundera、Morphia 等 ORM 工具在内部使用这些原生驱动程序。这使得用户变得简单和舒适,但有时会在性能方面产生一些开销。

因此,您是否有时间探索 Go for Mongo-Java-Driver 取决于您。否则,请根据您的用例选择任何 ORM 工具。对吗啡不熟悉。我猜 hibernate 仅适用于 RDBMS。 Hibernate OGM 适用于 NoSQL 数据库。

编辑:昆德拉不再维护。请使用替代品。


例如,如果您想像在 RDBMS 数据库中那样以 JPA 方式进行查询,则可以使用 Kundera。它是一个用于 NoSQL 数据库的开源对象映射器,支持 MongoDB、Cassandra、HBase、ONS 等。它采用 JPA 格式进行查询

 select p from Person p where p.salary > 20000

0
投票

我认为原生更好,Mongodb 的 ORM 似乎有限制,(例如,使用 eclipse-link 不能直接持久化 Map)

© www.soinside.com 2019 - 2024. All rights reserved.