Spring 与MongoDB一起冬眠

Spring 与MongoDB一起冬眠,spring,hibernate,mongodb,hibernate-ogm,Spring,Hibernate,Mongodb,Hibernate Ogm,我正在寻找展示如何将MongoDB与Hibernate集成的资源(最好是从spring中),这样我就可以在RDBMS和NoSql之间切换:有人有这样做的经验吗?你不容易做到这一点。Hibernate的要点是将Java对象映射到关系数据库。尽管Hibernate抽象出了很多细节,但您仍然需要了解关系数据库如何处理外键和主键,以及运行查询的性能影响。MongoDB需要一种完全不同的数据库设计方法,将重点放在对象上,而不是列和表上。虽然您可以为MongoDB创建Hibernate方言,但创建一个既适用

我正在寻找展示如何将MongoDB与Hibernate集成的资源(最好是从spring中),这样我就可以在RDBMS和NoSql之间切换:有人有这样做的经验吗?

你不容易做到这一点。Hibernate的要点是将Java对象映射到关系数据库。尽管Hibernate抽象出了很多细节,但您仍然需要了解关系数据库如何处理外键和主键,以及运行查询的性能影响。MongoDB需要一种完全不同的数据库设计方法,将重点放在对象上,而不是列和表上。虽然您可以为MongoDB创建Hibernate方言,但创建一个既适用于关系数据库又适用于NoSql数据库的设计将为您提供一个既适用于关系数据库又适用于NoSql数据库的设计。在ColdFusion中,Hibernate是集成的,为了保存Hibernate对象,您需要执行EntitySave(Obj)。然而,我们所做的是构建Orm对象,然后使用mongoDB Coldfusion组件,通过mongo.save(obj,collectionName)保存对象

希望这个博客能帮助:
这里Dror Bereznitsky很好地描述了如何将基于Spring/hibernate的解决方案与mongodb集成。

如果使用Spring MongoTemplate(类似于HibernateTemplate),迁移会更容易
其功能之一是支持JPA注释(尽管我不确定在多大程度上)。
请参阅更多:

您将需要以下内容:

  • 将spring数据mongodb JAR添加到您的项目中(在maven中提供) 中环)
  • 将mongo java驱动程序JAR添加到项目中(可在 马文中心)
  • 以类似的方式使用提供的MongoTemplate类 冬眠的方式。例如。:
    mongoTemplate.findById(id,MyClass.class)
    mongoTemplate.insert(myObject)
  • 下面是一个具体的代码示例:

    还有一个,它使用JPA注释从mongodb读/写对象。如果您熟悉hibernate,那么使用它应该非常简单

    我最近尝试过,它采用相同的方法,但有自己的注释。
    它很好用

    怎么样?它为非SQL数据库提供JPA。

    前面做了一些很好的工作,如:


    请参阅这些链接。它将对您有所帮助。

    为了完整起见,现在还支持MongoDB。PlayORM是一个对象NoSQL映射解决方案,因此您可以编写POJO,并让它处理编组/解编组到MongoDB的所有细节。在这里访问它

    如果您使用的是Java,那么您可以使用Hibernate OGM它为NoSQL数据库提供Java持久性支持


    有关更多详细信息,请访问

    我认为Hibernate提供了所需的功能。看看他们的官方网站: 将多个NoSQL数据存储混合在一个应用程序中,例如,将Neo4j用于友谊图,将MongoDB用于博客文章。或者混合使用NoSQL和关系数据库


    请看一下Hibernate OGM。它还很年轻,但他们有一些有趣的东西即将出现。请看一下Hibernate OGM。它还很年轻,但他们有一些有趣的东西即将出现。特别是,MongoDB是Hibernate OGM的开箱即用方言之一。查看以了解更多信息。