我正在寻找有关如何将MongoDB与Hibernate集成(最好是在Spring内部)的资源,以便我可以在关系型数据库和NoSql解决方案之间进行切换:是否有人有做过这样的经验?
我正在寻找有关如何将MongoDB与Hibernate集成(最好是在Spring内部)的资源,以便我可以在关系型数据库和NoSql解决方案之间进行切换:是否有人有做过这样的经验?
你不能轻易地做到这一点。Hibernate 的作用是将 Java 对象映射到关系型数据库中。虽然 Hibernate 抽象了很多细节,但你仍需要理解关系数据库与外键和主键之类的事物以及运行的查询的性能影响。MongoDB 需要一种完全不同的方式来设计你的数据库,重点在于对象而非列和表。虽然你可能能够为 MongoDB 创建一个 Hibernate 方言,但创建一个适用于关系数据库和 NoSql 数据库的设计会使你的设计两者都无法良好运行。
mongoTemplate.findById(id, MyClass.class);
mongoTemplate.insert(myObject);
如果您正在使用Java,则可以使用Hibernate OGM,它为NoSQL数据库提供Java持久性支持。
有关更多详细信息,请访问http://hibernate.org/ogm/
希望这篇博客能够帮到您:http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html 在这里,Dror Bereznitsky很好地描述了如何将基于Spring/Hibernate的解决方案与MongoDB集成。
我就举个例子,我正在做类似的事情。在ColdFusion中,Hibernate已经被集成,为了保存你的Hibernate对象,你需要使用EntitySave(Obj)。然而,我们所做的是构建Orm对象,然后使用mongoDB Coldfusion组件,并通过mongo.Save(obj,collectionName)来保存对象。