我想创建一个项目并使用MongoDB
和Neo4J
,这两个数据库都需要使用。现在,Hibernate OGM
概念的发布和支持为所有NoSQL数据库提供了支持。如果我去Hibernate OGM
,他们使用JPA apis进行实现,这对Hibernate用户来说很容易。如果我选择Spring-Data,我们需要同时配置Spring-Data MongoDB
和Spring-Data Neo4j
并使用Spring-Data
apis。我的团队对我们选择的技术Hibernate OGM
或Spring-Data
感到困惑。我们专注于某些要点并转到Spring-Data
。积分如下:
Spring-Data
是一个早期概念,Spring-Data
的支持很容易在在线论坛上提供,但Hibernate OGM
是新的。Spring-Data
具有NoSQL数据库的各种功能,但对于Hibernate OGM,我们不确定在this slide.中提及的所有功能Hibernate OGM
使用JPA查询和JPA查询根据NoSQL供应商查询进行翻译,我认为这会导致性能问题。但在Spring-Data中,我们可以轻松地使用Cypher Queries
和Mongo Template
。Hibernate OGM
是否完全支持图Db功能,例如维护关系属性?请告诉我我们需要采用哪种技术。
答案 0 :(得分:2)
如果您选择在同一个项目中使用两个不同的NoSQL数据库,可能是因为您真的需要他们的uniq功能(MongoDB上的地理空间查询,能够为Neo4j执行图遍历等等)。
所以Hibernate OGM显然不适合你。您可以直接使用Mongo和Neo4j的原生API。或者您可以使用声称提供一致编程模型的Spring Data(但不单个API)。