2015-02-05 45 views
2

我想创建一个项目并使用MongoDBNeo4J,这两个数据库都需要使用。现在,Hibernate OGM概念发布并支持所有NoSQL数据库。如果我去Hibernate OGM,他们使用JPA apis来实现,并且它对于Hibernate用户来说很容易。如果我选择Spring-Data,我们需要配置Spring-Data MongoDBSpring-Data Neo4j并使用Spring-Data apis。我的团队对我们走哪个技术Hibernate OGMSpring-Data感到困惑。我们专注于一些要点,并致力于Spring-Data。点如下:Spring-Data上的Hibernate OGM是否有效?

  1. Spring-Data是一个早期的概念,对Spring-Data支持是很容易提供的网上论坛,但Hibernate OGM是新的。
  2. Spring-Data对NoSQL数据库的各种功能,但是对于Hibernate OGM我们不知道提供的所有功能,提this slide.
  3. Hibernate OGM使用JPA查询和JPA查询根据NoSQL的供应商查询翻译,我认为这导致性能问题。但在Spring-Data中,我们很容易使用Cypher QueriesMongo Template
  4. 我也迷惑Hibernate OGM已经完全支持Graph Db特性,就像维护关系的属性一样?

请向我推荐我们需要去哪些技术。

+0

看起来像是http://stackoverflow.com/a/23168401/18122的副本。 –

+0

可能的重复[MongoDB的Spring Data MongoDB和Hibernate OGM有什么区别?](http://stackoverflow.com/questions/23163853/whats-the-difference-between-spring-data-mongodb-and-hibernate- OGM换的MongoDB) –

回答

2

如果您选择在同一个项目中使用两个不同的NoSQL数据库,可能是因为您确实需要他们的uniq功能(MongoDB上的地理空间查询,能够执行Neo4j的图遍历等等) 。

因此,Hibernate OGM显然不适合你。您可以直接使用Mongo和Neo4j的本地API。或者,您可以使用声称提供一致的编程模型的Spring Data(但不是单个API的)。