繁体   English   中英

在企业解决方案中使用mongodb进行Hibernate OGM

[英]Hibernate OGM with mongodb in an enterprise solution

我想问你,如果你有任何Hibernate OGM使用mongodb工作得很好的经验,它可以毫无后顾之忧地用在企业解决方案中。 换句话说 - 这种组合是否与例如Hibernate ORMMySQL好用,并且也很容易设置? 是否值得使用它 - 意味着与数据库工作的改进水平相比,设置它所需的能力水平? 您是否更喜欢其他OGM框架,甚至不使用任何框架? 我前一段时间读过这篇文章,但它还处于这个项目的早期阶段并且工作得还不好。 感谢您的建议和经验。

(免责声明:我是Hibernate OGM作者之一)

换句话说 - 这种组合是否与例如Hibernate ORM与MySQL一样好用?

4.1版本是我们考​​虑准备在生产中使用的第一个决赛。 一般的用户体验应该与使用经典的Hibernate ORM(在使用Hibernate OGM时仍然是您使用的内容)相差无几。 MongoDB方言也许是我们付出最大努力的方言,所以它的状态很好。

但是,由于Hibernate OGM是一个相当年轻的项目,当然可能存在需要消除的错误和故障。 功能方面,还有一些不支持的东西(例如,辅助表,标准API,更复杂的JPA查询),但是您要么不应该在大多数类型的应用程序中真正需要它们,要么有解决方法(例如本机查询) 。

而且也很容易设置?

是的,一点没错。 该设置与使用Hibernate ORM / JPA和RDBMS没有什么不同。 您只使用另一个JPA提供程序类( HibernateOgmPersistence ),并且需要设置一些特定于OGM的选项(要使用NoSQL存储,主机名等)。 查看此博客文章 ,它将引导您完成设置。 对于特定于商店的设置(例如,如何在文档存储中存储关联),存在基于注释和/或流畅API的易于使用的选项系统。

[是否值得努力]与数据库工作的改进水平相比进行设置?

我认为没有一般的答案。 在许多情况下,像Hibernate ORM / OGM这样的对象映射器很棒,在其他情况下使用普通SQL或NoSQL API可能是更好的选择。 这取决于您的用例及其特定要求。 通常,如果存在要保留的已定义域模型,导航其关联等,则OxM可以正常工作。

您更喜欢另一个OGM框架吗?

我显然有偏见,但是让我说使用Hibernate OGM可以让你

  • 受益于JPA / Hibernate现有的生态系统,可以与其他库集成,例如Hibernate Validator或Hibernate Search(或您内部开发的基于Hibernate的API)或工具,例如发出JPA实体的建模工具。

  • 使用相同的API处理不同的NoSQL后端。 因此,如果您需要集成另一个NoSQL存储(例如Neo4j来运行图形查询)或RDMBS,那么Hibernate OGM将允许您轻松完成。

我前段时间读过它,但它还处于这个项目的早期阶段

在过去的一年里,Hibernate OGM已经做了很多工作,所以我的建议肯定是尝试一下,看看原型或spike它是如何工作的。

如果您有任何功能要求或问题,请告诉我们,我们会看到我们能为您做些什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM