Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在企业解决方案中使用mongodb实现Hibernate OGM_Java_Mongodb_Hibernate_Hibernate Ogm_Nosql - Fatal编程技术网

Java 在企业解决方案中使用mongodb实现Hibernate OGM

Java 在企业解决方案中使用mongodb实现Hibernate OGM,java,mongodb,hibernate,hibernate-ogm,nosql,Java,Mongodb,Hibernate,Hibernate Ogm,Nosql,我想问您,如果您有任何经验表明,Hibernate OGM与mongodb一样好,那么它可以毫无顾虑地用于企业解决方案中。换言之,这种组合是否与MySQL的Hibernate ORM一样好用,而且设置起来也很容易?是否值得使用它?这意味着与数据库工作的改进水平相比,设置它所需的成本水平?您是更喜欢另一个OGM框架,还是甚至不使用它?我不久前读到过,但它处于项目的早期阶段,还没有很好地工作。感谢您的建议和经验。(免责声明:我是Hibernate OGM的作者之一) 换句话说,这种组合是否能像Hib

我想问您,如果您有任何经验表明,
Hibernate OGM
mongodb
一样好,那么它可以毫无顾虑地用于企业解决方案中。换言之,这种组合是否与
MySQL
Hibernate ORM
一样好用,而且设置起来也很容易?是否值得使用它?这意味着与数据库工作的改进水平相比,设置它所需的成本水平?您是更喜欢另一个OGM框架,还是甚至不使用它?我不久前读到过,但它处于项目的早期阶段,还没有很好地工作。感谢您的建议和经验。

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

换句话说,这种组合是否能像Hibernate ORM和MySQL一样好用

< 4.1版本是我们考虑在生产中使用的第一个决赛。一般的用户体验应该与使用经典的Hibernate ORM(在使用Hibernate OGM时仍然是在后台使用的)没有太大区别。此外,MongoDB方言可能是我们投入最多精力的方言,因此它的状态良好

但是由于HibernateOGM是一个相当年轻的项目,当然可能存在需要解决的bug和小故障。就功能而言,有些东西还不受支持(例如,辅助表、标准API、更复杂的JPA查询),但在大多数类型的应用程序中,您不应该真的需要这些东西,或者有一些解决方法(例如,本机查询)

这也很容易设置吗

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

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

我不认为有一个普遍的答案。在许多情况下,像Hibernate ORM/OGM这样的对象映射器都很好,在其他情况下,使用普通SQL或NoSQL API可能是更好的选择。这取决于您的用例及其特定需求。一般来说,如果有一个定义好的域模型,并且您想要持久化它,导航它的关联,那么OXM工作得很好

您喜欢另一个OGM框架吗

我显然有偏见,但我要说的是,使用HibernateOGM可以

  • 受益于JPA/Hibernate周围现有的生态系统,无论是与其他库(如Hibernate Validator或Hibernate Search(或您内部开发的基于Hibernate的API))集成,还是与生成JPA实体的建模工具(如建模工具)集成

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

我不久前读到过,但那是在这个项目的早期阶段

在过去的一年里,Hibernate OGM已经投入了大量的工作,所以我的建议绝对是尝试一下,看看它是如何满足您的需求的


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

感谢Gunnar提供的详尽回答!我一定会把这个话题带到讨论中!:)